Python爬蟲之UserAgent的使用實(shí)例
問(wèn)題: 在Python爬蟲的過(guò)程中經(jīng)常要模擬UserAgent, 因此自動(dòng)生成UserAgent十分有用, 最近看到一個(gè)Python庫(kù)(fake-useragent),可以隨機(jī)生成各種UserAgent, 在這里記錄一下, 留給自己爬蟲使用。
安裝 pip install fake-useragent
使用案例
基本使用
from fake_useragent import UserAgent ua = UserAgent() ua.ie # Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US); ua.msie # Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)' ua['Internet Explorer'] # Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB7.4; InfoPath.2; SV1; .NET CLR 3.3.69573; WOW64; en-US) ua.opera # Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11 ua.chrome # Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2' ua.google # Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.13 (KHTML, like Gecko) Chrome/24.0.1290.1 Safari/537.13 ua['google chrome'] # Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11 ua.firefox # Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1 ua.ff # Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1 ua.safari # Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25 # and the best one, random via real world browser usage statistic ua.random
注意:
fake-useragent 將收集到的數(shù)據(jù)緩存到temp文件夾, 例如 /tmp, 更新數(shù)據(jù):
from fake_useragent import UserAgent ua = UserAgent() ua.update()
有時(shí)候會(huì)因?yàn)榫W(wǎng)絡(luò)或者其他問(wèn)題,出現(xiàn)異常(fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached
), 可以禁用服務(wù)器緩存(從這里踩了一個(gè)坑, 沒(méi)仔細(xì)看文檔的鍋):
from fake_useragent import UserAgent ua = UserAgent(use_cache_server=False)
可以自己添加本地?cái)?shù)據(jù)文件(v0.1.4+)
import fake_useragent # I am STRONGLY!!! recommend to use version suffix location = '/home/user/fake_useragent%s.json' % fake_useragent.VERSION ua = fake_useragent.UserAgent(path=location) ua.random
其他功能用到的也不是很多,詳細(xì)見(jiàn)文檔吧。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
- Nginx服務(wù)器屏蔽與禁止屏蔽網(wǎng)絡(luò)爬蟲的方法
- Python爬蟲beautifulsoup4常用的解析方法總結(jié)
- Python常用爬蟲代碼總結(jié)方便查詢
- Python 通過(guò)requests實(shí)現(xiàn)騰訊新聞抓取爬蟲的方法
- Python3爬蟲之自動(dòng)查詢天氣并實(shí)現(xiàn)語(yǔ)音播報(bào)
- 基于node.js實(shí)現(xiàn)爬蟲的講解
- 淺談Scrapy網(wǎng)絡(luò)爬蟲框架的工作原理和數(shù)據(jù)采集
- 用Electron寫個(gè)帶界面的nodejs爬蟲的實(shí)現(xiàn)方法
- 通過(guò)python爬蟲賺錢的方法
- 如何禁止網(wǎng)站內(nèi)容被搜索引擎收錄的幾種方法講解
相關(guān)文章
Python實(shí)現(xiàn)PS圖像明亮度調(diào)整效果示例
這篇文章主要介紹了Python實(shí)現(xiàn)PS圖像明亮度調(diào)整效果,結(jié)合實(shí)例形式分析了Python基于skimage模塊調(diào)整圖片明亮度的原理與具體操作技巧,需要的朋友可以參考下2018-01-01Python?Poetrya項(xiàng)目依賴管理安裝使用詳解
這篇文章主要為大家介紹了Python?Poetrya項(xiàng)目依賴管理安裝使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11Python 實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)中的的棧隊(duì)列
這篇文章主要介紹了Python 實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)中的的棧,隊(duì)列,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05Python 快速實(shí)現(xiàn)CLI 應(yīng)用程序的腳手架
本篇文章主要介紹了Python 快速實(shí)現(xiàn)CLI 應(yīng)用程序的腳手架,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12python實(shí)現(xiàn)轉(zhuǎn)圈打印矩陣
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)轉(zhuǎn)圈打印矩陣,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03使用Django Form解決表單數(shù)據(jù)無(wú)法動(dòng)態(tài)刷新的兩種方法
這篇文章主要介紹了使用Django Form解決表單數(shù)據(jù)無(wú)法動(dòng)態(tài)刷新的兩種方法,需要的朋友可以參考下2017-07-07Python callable內(nèi)置函數(shù)原理解析
這篇文章主要介紹了Python callable內(nèi)置函數(shù)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03利用pipenv和pyenv管理多個(gè)相互獨(dú)立的Python虛擬開發(fā)環(huán)境
這篇文章主要介紹了利用pipenv和pyenv管理多個(gè)相互獨(dú)立的Python虛擬開發(fā)環(huán)境,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11