处理fake-useragent报错
1. 报错如下:
fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached
原因:fake-useragent能够给我们这么多用户代理,其实质上是它访问了一个网站,如果访问网站失败达到最大重试次数,那么就会报这样的错误。我们只需要访问该网站并将网站中的数据保存到本地即可。
网站为:https://fake-useragent.herokuapp.com/browsers/0.1.11
2. 解决办法:
访问此网站,并将返回的数据保存为json文件并放在系统的临时目录中。
-
访问网站并保存数据,保存的路径在代码的同级路径下,若有访问不了此网站的,我提供了百度网盘的下载链接。
链接: 下载链接
提取码:ak2i
import requests
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'}
res = requests.get('https://fake-useragent.herokuapp.com/browsers/0.1.11', headers=headers)
with open('fake_useragent_0.1.11.json', 'w', encoding='utf-8')as f:
f.write(res.text)
print('保存完毕')
- 查看本系统的临时文件夹,我系统的临时文件夹为
路径:C:\Users\ADMINI~1\AppData\Local\Temp
import tempfile
print(tempfile.gettempdir())
- 先显示隐藏文件夹,再将下载的json文件放在系统的临时文件夹里面即可
3.测试结果
原因:因为我们已经用户代理的json文件保存到本地了,所以相当于之后发送的请求fake-useragent都会先检查我们电脑是否有此文件,若没有则去请求网站。
断网后的测试结果
结语:本章小知识点在这里就结束了。期望大家能够学到知识并将知识运用到实际当中,fake-useragent的主要作用就是产生不同的用户代理,这样我们就不需要再去网上收集用户代理保存到一个列表或py文件中。再使用random模块中的choice方法去随机选择了,会使我们方便很多。