User-Agent
1、用户代理,浏览器身份识别
2、通过它判断是谁在发送请求,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等
3、代码中添加User-Agent实现模拟浏览器
4.某大牛写了个库,fake-useragent,本质其实也是个爬虫。可随机生成UA。
pip install fake-useragent
from fake_useragent import UserAgent
ua = UserAgent()
#ie浏览器的user agent
print(ua.ie)
#opera浏览器
print(ua.opera)
#chrome浏览器
print(ua.chrome)
#firefox浏览器
print(ua.firefox)
#safri浏览器
print(ua.safari)
#随机浏览器
print(ua.random)
常遇的BUG:
fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached
解决3板斧:
禁用服务器缓存:
ua = UserAgent(use_cache_server=False)
不缓存数据:
ua = UserAgent(cache=False)
忽略ssl验证:
ua = UserAgent(verify_ssl=False)
5.如果没解决,那算了,感觉不太稳定,时灵时不灵的,留个后手收集一批UA。
6.某些网站反爬厉害的话,注意代理ip和cookie,UA要保持一致。
7.使用Scrapy爬取贴吧的时候,携带了个UA,反而获取不到理想中的页面,卸掉UA可以正常获取。