|

楼主 |
发表于 2021-10-6 23:39:21
|
显示全部楼层
"urllib只能简单发送请求,不能headers伪装"
可以伪装,两种方式
1.使用req
req = urllib.request.Request()
req.add_header('User-agent','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36')
res = urllib.request.urlopen(url)
2.使用opener
opener = urllib.request.build_opener(proxy_support,cookie_support)
opener.addheaders = [('User-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36')]
如果想要动态变化Headers,可以将urllib.request.urlretrieve 改写以抗盗链。
你用了urllib就会发现,这个东西比requests更加接近底层。 |
|