彻底解决:fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached
一、本来找到了替代自己写大UA头的宝藏,没想到给我整这么一出。网上与很多解答,亲测几种体验以及自己的解决方法,以及json分享。
- 网上方法①:pip install -U fake-useragent
对我来说完全没用。我的是0.1.11版本的。 - 网上方法②:找到电脑缓存目录,下载对应版本的json文件:https://fake-useragent.herokuapp.com/browsers/0.1.11 (地址需要翻墙),将文件放入缓存目录。可以解决,但是是一次性的下次启动还得继续重复操作。没采用。
- 网上方法③:更改函数UserAgent().random的参数,UserAgent()这个函数有个path参数就是json文件的路径,所以你需要手动下载json文件然后写上json文件路径:UserAgent(path=“json文件路径”).random。可以解决但是每次需要手动写json的路径。能不能不修改呢?我根据方法③自己写了一种
- 首先下载好json文件。找的fake_useragent的安装目录,我的是这里C:\Users\74210\AppData\Roaming\Python\Python36\site-packages\fake_useragent,打开该目录下的setting文件,编写添加以下函数:
然后替换path参数值,文件更改如下:import winreg # 获取桌面路径 def get_desktopPath(): key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders') return winreg.QueryValueEx(key, "Desktop")[0]
将json文件放到桌面即可,当然如果你不想放桌面直接写路径也可以。然后运行。没有报错。开心!我的更改如下图:DB = os.path.join( get_desktopPath(), 'fake_useragent_{version}.json'.format( version=__version__, )
运行结果:
- 我采用的文件:
链接:https://pan.baidu.com/s/1qXrb5Z4rjd1U-bBbtyIo0g
提取码:dkdk