Python爬蟲隨機UserAgent庫,讓你不再手動敲UA!

Allen:)發表於2020-12-05

前言

之前也懵懵懂懂寫過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

相關文章