Python3中urllib库添加请求头的两种方式
目录
- python3中urllib库添加请求头的两种方式
- 导入模块
- 方法一:build_opener类
- 方式二:Request与urlopen类
- python 3的urllib库介绍
- 一、urllib.request模块
- 1.1 使用urllihttp://www.devze.comb.request.urlopen()
- 1.2 使用urllib.request.Request()
Python3中urllib库添加请求头的两种方式
导入模块
import urllib.request
方法一:build_openephpr类
link = 'https://movie.douban.com/top250' # 在这里,必须使用元组或列表的方式定制请求头。 headers = ('user-agent','mozilla/5.0') opener = urllib.request.build_opener() # 请求头会以列表包含元组或列表的方式进行保存。 opener.addheaders = [headers] r = opener.open(link,timeout=10) # 打印请求状态码,这里返回200,表示请求成功。 print(r.code)
方式二:Request与urlopen类
link = 'https://movie.douban.com/top250' headers = {'user-agent':'mozilla/5.0'} ''' 使用Request类添加请求头可以不使用headers这个参数。而使用这个类的实例化对象的方法 add_header(key='user-agent',val='mozilla/5.0') ''' add = urllib.request.Request(url=link,headers=headers) r = urllib.request.urlopen(url=add,timeout=10) print(r.code)
在方式二中,urllib库中Request与urlopen两个请求类一起使用的主要原因:
- Request可以添加请求头,而urlopen不能。
- urlopen可以对响应对象进行状态码的访问、网页代码的读取等一系列操作。
- 它们在参数上具有一定的区别。
补充:
python 3的urllib库介绍
Python 3中的urllib模块可以用来处理URL,包括下载和上传文件、创建和读取cookie、访问Web API等。在本文中,我们将详细介绍urllib库中最常用的四个模块:urllib.request、urllib.parse、urllib.error和urllib.robotparser。
一、urllib.request模块
该模块提供了许多功能,如打开URL、读取其中的响应,以及设置请求头等。
打开URL 有两种方法打开URL,分别是使用urllib.request.urlopen()和 urllib.request.Request()。
1.1 使用urllib.request.urlopen()
可以使用urlopen()函数打开一个URL,如果给定了字符串参数,将尝试打开这个URL,并且返回一个 file-like 对象,在此对象上可以执行类似文件的操作。例如:
python import urllib.request response = urllib.request.urlopen(‘https://www.example.com/') print(response.read().decode(‘utf-8'))
此代码将在控制编程客栈台输出从示例站点获取的html内容。
1.2 使用urllib.request.Request()
假设需要传递一些参数、HTTP头等信息,则可以使用Request()方法构造一个请求对象,然后再调用urlopen()发送请求。例如:
python import urllib.request req = urllib.request.Request(‘http://www.example.comjavascript/', data=b'some_data', headers={‘User-Agent': ‘Mozilla/5.0'}) response = urllib.request.urlopen(req) print(response.read().decode(‘utf-8'))
这里创建了一个请求对象,其中包含URL、数据(可[Cannot read property ‘status’ of undefined]
到此这篇关于Python3中urllib库的两种添加请求头的方式的文章就介绍到这了,更多相关Python3 urllib库添加请求头内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览javascript下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论