ua反爬
ua反爬虫是一种很常见的反爬手段,通过识别发送的请求中是否有需要的参数信息来判断这次访问是否由用户通过浏览器发起。
ua获取:
import urllib.request
url='https://www.baidu.com'
#指定自己访问的ua,将自己伪装为用户
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36'
}
# 因为urlopen方法中不能接收字典,所以headers无法传递进去,原因见图片中open行最后,所以需要将参数定制为对象
# 由于参数顺序为题需要采用关键字传参具体建图片Reques类接受的参数类型
request=urllib.request.Request(url=url,headers=headers)#请求对象的定制
response=urllib.request.urlopen(request)#模仿浏览器向服务器发送请求
content=response.read().decode('utf8')#获取响应的数据
with open('https.html','w',encoding='utf-8') as f:
f.write(content)