如果在请求中需要加入headers(请求头)、指定请求方式等信息,那么就可以利用更加大的Request来构建一个请求。
语法:
urllib.request.Request(url, data=None, headers={}, method=None)
例:
import urllib.request
url = "https://movie.douban.com/" # 豆瓣有反爬机制,加入请求头伪装成浏览器
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36 Edg/88.0.705.81"}
req = urllib.request.Request(url, headers=headers) # 构建请求对象
resp = urllib.request.urlopen(req)
html = resp.read().decode('utf-8')
print(html)