fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached

2019.5.17 已更新全部,linux&windows

在新电脑(windows)上安装了fake-useragent,但是不能正常工作,出现如题的报错

fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached

然后参考相关帖子并未发现能解决我的问题,有一篇我估计应该有关系,无奈我搭着梯子也访问不了博客中的json文件地址。

博客地址:https://blog.csdn.net/weixin_33893473/article/details/86031932

然后自己进行摸索尝试:

1.首先我的问题是在没有挂梯子的情况下报错的,所以第一步先挂上我简陋的小梯子,说是试用7天,但是我一直白嫖好像没啥影响,连接我放在后面,使用也比较简单,查个网页下个小文件还是不错的;

2.挂好以后运行代码,发现就正常运行了;

3.断开vpn运行程序,发现仍然可以正常运行,所以猜测是挂梯子运行的时候下载了上面帖子中提到的文件,并且指定到了具体

位置。

 

梯子链接:https://pan.baidu.com/s/14T9cqC2pXAs0LuyeOgKN1A 提取码: 2hvw

 

请继续往下阅读,后面给出完整的解决方案:

 

补充完整的报错信息(linux),(2019.5.17  19:21 已更新),请看下面具体方法,

Error occurred during loading data. Trying to use cache server https://fake-useragent.herokuapp.com/browsers/0.1.11
Traceback (most recent call last):
  File "/usr/local/python3/lib/python3.6/urllib/request.py", line 1318, in do_open
    encode_chunked=req.has_header('Transfer-encoding'))
  File "/usr/local/python3/lib/python3.6/http/client.py", line 1239, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/local/python3/lib/python3.6/http/client.py", line 1285, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/local/python3/lib/python3.6/http/client.py", line 1234, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/local/python3/lib/python3.6/http/client.py", line 1026, in _send_output
    self.send(msg)
  File "/usr/local/python3/lib/python3.6/http/client.py", line 964, in send
    self.connect()
  File "/usr/local/python3/lib/python3.6/http/client.py", line 1392, in connect
    super().connect()
  File "/usr/local/python3/lib/python3.6/http/client.py", line 936, in connect
    (self.host,self.port), self.timeout, self.source_address)
  File "/usr/local/python3/lib/python3.6/socket.py", line 724, in create_connection
    raise err
  File "/usr/local/python3/lib/python3.6/socket.py", line 713, in create_connection
    sock.connect(sa)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/python3/lib/python3.6/site-packages/fake_useragent/utils.py", line 67, in get
    context=context,
  File "/usr/local/python3/lib/python3.6/urllib/request.py", line 223, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/python3/lib/python3.6/urllib/request.py", line 526, in open
    response = self._open(req, data)
  File "/usr/local/python3/lib/python3.6/urllib/request.py", line 544, in _open
    '_open', req)
  File "/usr/local/python3/lib/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/usr/local/python3/lib/python3.6/urllib/request.py", line 1361, in https_open
    context=self._context, check_hostname=self._check_hostname)
  File "/usr/local/python3/lib/python3.6/urllib/request.py", line 1320, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error timed out>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/python3/lib/python3.6/site-packages/fake_useragent/utils.py", line 154, in load
    for item in get_browsers(verify_ssl=verify_ssl):
  File "/usr/local/python3/lib/python3.6/site-packages/fake_useragent/utils.py", line 97, in get_browsers
    html = get(settings.BROWSERS_STATS_PAGE, verify_ssl=verify_ssl)
  File "/usr/local/python3/lib/python3.6/site-packages/fake_useragent/utils.py", line 84, in get
    raise FakeUserAgentError('Maximum amount of retries reached')
fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached

 

-----------------------------------------------------分割线--------------------------------------------

经参考:https://blog.csdn.net/yilovexing/article/details/89044980

发现是缓存fake_useragent_0.1.11.json的问题(最新的版本),但是这个json文件我无法用wget方法或者浏览器下载下来,

只需要将这个缓存文件放在windows或者linux的缓存目录下:

1.获取临时目录:(linux和windows都适用)

#windows

import tempfile

a = tempfile.gettempdir()
print(a)

C:\Users\SHAOOP~1\AppData\Local\Temp
[Finished in 0.2s]

#linux

[root@hwcentos ~]# python
Python 3.6.5 (default, Mar 20 2019, 21:55:20) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tempfile
>>> tempfile.gettempdir()
'/tmp'

2.将 fake_useragent_0.1.11.json 放入上述linux 或者 windows的临时目录(这里我将自己成功运行的json文件提供链接:

https://pan.baidu.com/s/1_Qv1LGBSjO2bnF4ocMqhwQ 提取码: 2hpu )

至此,我本地的windows,本地linux,远程linux服务器的fake-useragent报错问题都已解决,欢迎交流。

 

  • 22
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值