今天学习了handler处理器的基本使用,内容如下:
urllib.request.urlopen(ur1)
不能定制请求头
urllib.request.Request(url,headers ,data)可以定制请求头
Handler
定制更高级的请求头(随着业务逻辑的复杂 请求对象的定制已经满足不了我们的需求 (动态cookie和代理不能使用请求对象的定制)
实操代码如下:
import urllib.request
url = 'http://www.baidu.com'
headers = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.183'
request = urllib.request.Request(url = url,headers = headers)
# handlerbuild_opener open
# (1)获取hanlder对象
handler = urllib.request.HTTPHandler()
# (2)获取opener对演
opener = urllib.request.build_opener(handler)
# (3) 调用open万法
response = opener .open(request)
content = response.read( ).decode( 'utf-8' )
print(content)
今天就这么多,8.