報錯信息
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
解決方法1
fake_useragent中存儲的UserAgent列表發生了變動,而本地UserAgent的列表未更新所導致的,在更新fake_useragent後報錯就消失了。
pip install -U fake-useragent
解決方法2
可能是緩存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 )
fake_useragent 具體github地址:https://github.com/hellysmile/fake-useragent
下載最新版本json文件(網頁拉到最底保存爲json文件(fake_useragent.json))
https://fake-useragent.herokuapp.com/browsers/0.1.11 (地址需要翻牆)
地址中最新版本號由(https://github.com/hellysmile/fake-useragent/blob/master/fake_useragent/settings.py)地址確定
參考:https://www.isfirst.net/python/fake-useragent-errors
https://blog.csdn.net/shaooping/article/details/90296667
https://blog.csdn.net/u010865811/article/details/90487379