Python基础 之 Python urllib 6
Python urllib
模拟头部信息
我们抓取网页一般需要对 headers(网页头信息)进行模拟,这时候需要使用到 urllib.request.Request 类:
class urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)
url:url 地址。
data:发送到服务器的其他数据对象,默认为 None。
headers:HTTP 请求的头部信息,字典格式。
origin_req_host:请求的主机地址,IP 或域名。
unverifiable:很少用整个参数,用于设置网页是否需要验证,默认是False。。
method:请求方法, 如 GET、POST、DELETE、PUT等。
实例 - py3_urllib_test.py 文件代码
import urllib.request
import urllib.parse
url = 'https://www.baidu.com/?s=' # 百度搜索页面
keyword = 'Python 教程'
key_code = urllib.request.quote(keyword) # 对请求进行编码
url_all = url+key_code
header = {
'User-Agent':'Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
} #头部信息
request = urllib.request.Request(url_all,headers=header)
reponse = urllib.request.urlopen(request).read()
fh = open("./urllib_test_baidu_search.html","wb") # 将文件写入到当前目录中
fh.write(reponse)
fh.close()
执行以上 Python 代码,会在当前目录生成 urllib_test_baidu_search.html 文件,打开 urllib_test_baidu_search.html 文件(可以使用浏览器打开)