在编写爬虫时,大多数情况下,需要设置请求头。而在请求头中,随机更换User-Agent
可以避免触发相应的反爬机制。
使用第三方库fake-useragent
便可轻松生成随机User-Agent
。
使用
当我们需要使用随机User-Agent
时,只需通过ua.random
即可获取。代码如下:
from fake_useragent import UserAgent ua = UserAgent() # ...... request.add_header("User-Agent",ua.random) # ......
可能出现的问题和解决方法
在使用fake-useragent
的过程中可能出现FakeUserAgentError('Maximum amount of retries reached') 错误,超时错误。在搜索到的很多解决方法都无效,包括:
- 禁用服务器缓存:
ua = UserAgent(use_cache_server=False)
- 不缓存数据:
ua = UserAgent(cache=False)
- 忽略 SSL 验证:
ua = UserAgent(verify_ssl=False)
- 更新
fake-useragent
:pip install -U fake-useragent
解决方法
下载: https://fake-useragent.herokuapp.com/browsers/0.1.11 并另存为:fake_useragent.json
def get_header(): location = os.getcwd() + '/fake_useragent.json' ua = fake_useragent.UserAgent(path=location) return ua.random
原因
使用UserAgent时访问了一个url,由于网络超时,造成错误。
现在明白了吗?这里免费送大家一套2020最新python入门到高级项目实战视频教程,可以去小编的Python交流.扣扣.裙 :巴衣久二五寺久寺二(数字的谐音)转换下可以找到了,还可以跟行业大牛交流讨教!
本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。