我们使用handler也可以访问url
使用步骤
- 得到
handler
对象 - 得到
opener
对象 - 调用
open
方法,open
方法中传定制的请求对象
使用
使用handler对象拿到百度首页的源码
import urllib.request
url = 'http://www.baidu.com'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36'
}
request = urllib.request.Request(url = url,headers = headers)
# 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)