請求庫
實現(xiàn)http請求操作
- requests
阻塞式http請求庫,發(fā)出一個請求,一直等待服務器響應后,程序才能進行下一步處理
-
selenium
自動化測試工具,可以利用它驅動瀏覽器執(zhí)行特地的動作,如點擊,下拉,特別對于一些js渲染的頁面,這種抓取十分有效,有三種瀏覽器的對接方式。ChromeDriver(Chrome)
GeckoDriver(火狐)
瀏覽器驅動插件,驅動瀏覽器執(zhí)行相應的操作。不同瀏覽器需要下載不同的插件,需要配置相關的環(huán)境變量。phantomJS
一個無頭(Headless,無界面,使用腳本進行操作)瀏覽器,可以進行模擬登錄等操作,以便爬取需要的網站。aiohttp
提供異步的web服務的庫,其的異步操作借助于async/await關鍵字,使用異步庫進行數據抓取,可在等待期間做其他事,提高爬蟲效率
解析庫
從網頁中提取信息,正則表達式寫起來比較繁瑣,所以產生了許多強大的解析庫
lxml
支持html和XML的解析,支持Xpath解析方式(bs和scrapy框架都需要此庫)。pyquery
提供類似jquery的語法來解析html文檔,支持css選擇器。html5lib
是一個Ruby和Python用來解析HTML文檔的類庫,支持HTML5以及最大程度兼容桌面瀏覽器。Beautiful Soup
html和XML的解析,從網頁中提取信息,同時擁有強大的API和多樣解析方式。支持Python標準庫中的HTML解析器,還支持一些第三方的解析器。

幾種解析器的優(yōu)劣比較
- tesserocr
Python的一個OCR(optical character recognition,光學字符識別)識別庫 ,本質是對tesseract做的一層API封裝,需要先安裝 tesseract 。
可將圖形驗證碼通過其形翻譯成電子文本。