上手簡單,功能強大的Python爬蟲框架——feapder
feapder 是一款上手簡單,功能強大的Python爬蟲框架,使用方式類似scrapy,方便由scrapy框架切換過來,框架內(nèi)置3種爬蟲:
AirSpider爬蟲比較輕量,學(xué)習(xí)成本低。面對一些數(shù)據(jù)量較少,無需斷點續(xù)爬,無需分布式采集的需求,可采用此爬蟲。 Spider是一款基于redis的分布式爬蟲,適用于海量數(shù)據(jù)采集,支持?jǐn)帱c續(xù)爬、爬蟲報警、數(shù)據(jù)自動入庫等功能 BatchSpider是一款分布式批次爬蟲,對于需要周期性采集的數(shù)據(jù),優(yōu)先考慮使用本爬蟲。feapder除了支持?jǐn)帱c續(xù)爬、數(shù)據(jù)防丟、監(jiān)控報警外,還支持瀏覽器渲染下載,自定義入庫pipeline,方便對接其他數(shù)據(jù)庫(默認(rèn)數(shù)據(jù)庫為Mysql,數(shù)據(jù)可自動入庫,無需編寫pipeline)
讀音: [ˈfiːpdə]
官方文檔:http://feapder.com 國內(nèi)文檔:https://boris-code.gitee.io/feapder github:https://github.com/Boris-code/feapder 更新日志:https://github.com/Boris-code/feapder/releases 環(huán)境要求: Python 3.6.0+ Works on Linux, Windows, macOS 安裝From PyPi:
通用版
pip3 install feapder
完整版:
pip3 install feapder[all]
通用版與完整版區(qū)別:
完整版支持基于內(nèi)存去重
完整版可能會安裝出錯,若安裝出錯,請參考安裝問題
小試一下創(chuàng)建爬蟲feapder create -s first_spider
創(chuàng)建后的爬蟲代碼如下:
import feapderclass FirstSpider(feapder.AirSpider): def start_requests(self):yield feapder.Request('https://www.baidu.com') def parse(self, request, response):print(response)if __name__ == '__main__': FirstSpider().start()
直接運行,打印如下:
Thread-2|2021-02-09 14:55:11,373|request.py|get_response|line:283|DEBUG|-------------- FirstSpider.parse request for ----------------url = https://www.baidu.commethod = GETbody = {’timeout’: 22, ’stream’: True, ’verify’: False, ’headers’: {’User-Agent’: ’Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36’}}<Response [200]>Thread-2|2021-02-09 14:55:11,610|parser_control.py|run|line:415|DEBUG| parser 等待任務(wù) ...FirstSpider|2021-02-09 14:55:14,620|air_spider.py|run|line:80|INFO| 無任務(wù),爬蟲結(jié)束
代碼解釋如下:
start_requests: 生產(chǎn)任務(wù) parse: 解析數(shù)據(jù)將請求頭轉(zhuǎn)為json格式爬蟲采集中,我們經(jīng)常需要攜帶網(wǎng)站的header等參數(shù),比如:我們在瀏覽器檢查工具看到某請求頭為:
Accept-Encoding: gzip, deflate, brAccept-Language: zh-CN,zh;q=0.9,en;q=0.8Cache-Control: max-age=0Connection: keep-aliveUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36
如果我們想在發(fā)請求時攜帶這個header,那么需要手動將其轉(zhuǎn)為json格式。
使用輸入命令,回車
> feapder create -j請輸入需要轉(zhuǎn)換的內(nèi)容:(xxx:xxx格式,支持多行)
輸出如下:
另外,feapder還支持創(chuàng)建有序字典,方便對比參數(shù)前后的變化
命令為:
feapder create -sj
以上就是上手簡單,功能強大的Python爬蟲框架——feapder的詳細(xì)內(nèi)容,更多關(guān)于Python 爬蟲框架feapder的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
