ucbug軟件站:安全、綠色、放心的專(zhuān)業(yè)下載站!首頁(yè)|最近更新|專(zhuān)題集合|標(biāo)簽云|站內(nèi)導(dǎo)航|加入收藏

Python網(wǎng)絡(luò)爬蟲(chóng)的常用庫(kù)大全匯總

時(shí)間:2019-10-28 10:41:13人氣:0

爬蟲(chóng)的編程語(yǔ)言有不少,但 Python 絕對(duì)是其中的主流之一。今天就為大家介紹下 Python 在編寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)常常用到的一些庫(kù)。

爬蟲(chóng)的編程語(yǔ)言有不少,但 Python 絕對(duì)是其中的主流之一。今天就為大家介紹下 Python 在編寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)常常用到的一些庫(kù)。

請(qǐng)求庫(kù):實(shí)現(xiàn) HTTP 請(qǐng)求操作

urllib:一系列用于操作URL的功能。

requests:基于 urllib 編寫(xiě)的,阻塞式 HTTP 請(qǐng)求庫(kù),發(fā)出一個(gè)請(qǐng)求,一直等待服務(wù)器響應(yīng)后,程序才能進(jìn)行下一步處理。

selenium:自動(dòng)化測(cè)試工具。一個(gè)調(diào)用瀏覽器的 driver,通過(guò)這個(gè)庫(kù)你可以直接調(diào)用瀏覽器完成某些操作,比如輸入驗(yàn)證碼。

aiohttp:基于 asyncio 實(shí)現(xiàn)的 HTTP 框架。異步操作借助于 async/await 關(guān)鍵字,使用異步庫(kù)進(jìn)行數(shù)據(jù)抓取,可以大大提高效率。

解析庫(kù):從網(wǎng)頁(yè)中提取信息

beautifulsoup:html 和 XML 的解析,從網(wǎng)頁(yè)中提取信息,同時(shí)擁有強(qiáng)大的API和多樣解析方式。

pyquery:jQuery 的 Python 實(shí)現(xiàn),能夠以 jQuery 的語(yǔ)法來(lái)操作解析 HTML 文檔,易用性和解析速度都很好。

lxml:支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。

tesserocr:一個(gè) OCR 庫(kù),在遇到驗(yàn)證碼(圖形驗(yàn)證碼為主)的時(shí)候,可直接用 OCR 進(jìn)行識(shí)別。

存儲(chǔ)庫(kù):Python 與數(shù)據(jù)庫(kù)交互

pymysql:一個(gè)純 Python 實(shí)現(xiàn)的 MySQL 客戶(hù)端操作庫(kù)。

pymongo:一個(gè)用于直接連接 mongodb 數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)操作的庫(kù)。

redisdump:一個(gè)用于 redis 數(shù)據(jù)導(dǎo)入/導(dǎo)出的工具?;?ruby 實(shí)現(xiàn)的,因此使用它,需要先安裝 Ruby。

爬蟲(chóng)框架

Scrapy:很強(qiáng)大的爬蟲(chóng)框架,可以滿足簡(jiǎn)單的頁(yè)面爬取(比如可以明確獲知url pattern的情況)。用這個(gè)框架可以輕松爬下來(lái)如亞馬遜商品信息之類(lèi)的數(shù)據(jù)。但是對(duì)于稍微復(fù)雜一點(diǎn)的頁(yè)面,如 weibo 的頁(yè)面信息,這個(gè)框架就滿足不了需求了。

Crawley:高速爬取對(duì)應(yīng)網(wǎng)站的內(nèi)容,支持關(guān)系和非關(guān)系數(shù)據(jù)庫(kù),數(shù)據(jù)可以導(dǎo)出為 JSON、XML 等。

Portia:可視化爬取網(wǎng)頁(yè)內(nèi)容。

newspaper:提取新聞、文章以及內(nèi)容分析。

python-goose:java 寫(xiě)的文章提取工具。

cola:一個(gè)分布式爬蟲(chóng)框架。項(xiàng)目整體設(shè)計(jì)有點(diǎn)糟,模塊間耦合度較高。

Web 框架庫(kù)

flask:輕量級(jí)的 web 服務(wù)程序,簡(jiǎn)單,易用,靈活,主要來(lái)做一些 API 服務(wù)。做代理時(shí)可能會(huì)用到。

django:一個(gè) web 服務(wù)器框架,提供了一個(gè)完整的后臺(tái)管理,引擎、接口等,使用它可做一個(gè)完整網(wǎng)站。

標(biāo)簽Python