處理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方法去隨機選擇了,會使我們方便很多。