前言
之前也懵懵懂懂寫過python爬蟲,但是經常被網站的反爬機制干趴下,然后手動寫了個隨機UA庫,情況才好些。今天在互聯網暢游時發現,有一個能夠產生隨機UA的第三方庫!
安裝第三方庫
老生常談啦,pip安裝運行以下代碼即可~
pip install fake-useragent
簡單上手
簡單上手很簡單的,上代碼~
from fake_useragent import UserAgent
ua = UserAgent()
print(ua.random)
# 輸出:Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4
ua.random就能產生一個隨機UA了!這不禁讓我想起了以前手動復制數個UA,然后再隨機選擇的代碼...代碼量蹭蹭的就下去了。
幾十行->三行
正好體現了Python的簡潔之美!
拓展(中文幫助文檔)
fake-useragent: github
作者的信息概要也很精簡:
Up to date simple useragent faker with real world database
幫助文檔:
fake-useragent將會把收集到的數據存儲在你的系統臨時文件夾中,比如/temp
如果你想更新已有的數據庫只需要這樣:
from fake_useragent import UserAgent
ua = UserAgent()
ua.update()
如果你不想緩存數據庫或者不生成寫入文件:
from fake_useragent import UserAgent
ua = UserAgent(cache=False)
有時候, useragentstring.com or w3schools.com 更改他們的網址或者關閉網站,在這種情況下,fake-useragent 將會使用 heroku 的返回結果。
如果你不想使用托管緩存服務器:
from fake_useragent import UserAgent
ua = UserAgent(use_cache_server=False)
在非常罕見的情況下,如果托管的緩存服務器和源不可用,fake-useragent將無法下載數據:
from fake_useragent import UserAgent
ua = UserAgent()
# Traceback (most recent call last):
# ...
# fake_useragent.errors.FakeUserAgentError
# You can catch it via
from fake_useragent import FakeUserAgentError
try:
ua = UserAgent()
except FakeUserAgentError:
pass
