Python爬蟲:(番外)爬蟲常用庫整理推薦

你不會有貓的

scrapy系列:大名鼎鼎的python爬蟲框架,網上成熟教程有很多,我的一些使用心得后期會單開一章。

portia:可視化爬蟲。也是scrapinghub系列弄出來的東西,底層是scrapy,比較好玩,基本沒有代碼難度,后面會單獨寫一下。

上面兩個的官方信息可以看: Scrapinghub Support Center

pyspider pyspider中文網 一個國人編寫的強大的網絡爬蟲系統并帶有強大的WebUI。采用Python語言編寫,分布式架構,支持多種數據庫后端,強大的WebUI支持腳本編輯器,任務監視器,項目管理器以及結果查看器。這是官方簡介,我一年前用過兩次,我記得當時還沒這么強但也算是主流爬蟲框架之一,相信使用體驗比較好。


urllib、urllib、requests:應該是不必多說,推薦使用requests(Requests: HTTP for Humans),有官方中文文檔。


BeautifulSoup Beautiful Soup4 經典網頁解析工具,多多少少要去了解一點,對應java里的JSoup。

pyqueryPyQuery complete API 基本照搬jQuery,我本人寫定向獨立爬蟲比較喜歡的一種解析庫,語法簡單友好,關鍵與jQuery一樣的定位方式,可以先在瀏覽器的console中調好語句然后拷過來就好。

lxmllxml 用處廣泛,不局限于解析HTML。主要定位方式是xpath

關于xpath【xpath教程我想單獨在這說幾句。在我看來xpath對爬蟲工程師來說是一種必學的定位方式。學習成本,低回報性大。像當你的爬蟲數量規模大到一定程度,當你的爬蟲復雜度到達一個規模,你去考慮分布式、多進程、異步,考慮將你的解析模塊拆分成各個子模塊。這個時候你的通信可能會困擾你一下,雖說直接傳對象并不困難,一個RPC通信的事情。但如果你將通信內容換成xpath會大大降低通信成本,反正你的目的是定位到頁面上的元素。我其他文章實現的列表識別,其模塊間通信就是建立在xpth上。

html2texthtml2text 見過它很多次,但是沒用過,作用就是去除html標簽,其替代方案太多。

readabilityReadability Python API 基于文本密度的正文提取。很多語言都有這個庫。這個庫安利下,源碼的價值比其使用價值還要大。


pyV8:PyV8 V8引擎,用于執行js。

Mechanizemechanize? 用于模仿瀏覽器操作,包括操作賬號密碼登錄,用的不多,下面會說它與Selenium的差別。

Selenium:Selenium Documentation 模擬瀏覽器,支持phantomjs、firefox、chrome等。關于Selenium的一些注意事項,我也會單開一章,畢竟踩了不少坑。

Mechanize與Selenium的區別Mechanize不支持JavaScript,Selenium是一套完整的Web應用程序測試系統,我選Selenium。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容