pyspider簡(jiǎn)介:
1.PySpider:一個(gè)國(guó)人編寫的強(qiáng)大的網(wǎng)絡(luò)爬蟲系統(tǒng)并帶有強(qiáng)大的WebUI。采用Python語(yǔ)言編寫彻秆,分布式架構(gòu)柬泽,支持多種數(shù)據(jù)庫(kù)后端,強(qiáng)大的WebUI支持腳本編輯器框喳,任務(wù)監(jiān)視器课幕,項(xiàng)目管理器以及結(jié)果查看器。在線示例:?http://demo.pyspider.org/
2.主要功能需求:
1.抓取五垮、更新調(diào)度多站點(diǎn)的特定的頁(yè)面
2.需要對(duì)頁(yè)面進(jìn)行結(jié)構(gòu)化信息提取
3.靈活可擴(kuò)展乍惊,穩(wěn)定可監(jiān)控 而這也是絕大多數(shù)python爬蟲的需求 —— 定向抓取,結(jié)構(gòu)化化解析拼余。但是面對(duì)結(jié)構(gòu)迥異的各種網(wǎng)站污桦,單一的抓取模式并不一定能滿足,靈活的抓取控制是必須的匙监。為了達(dá)到這個(gè)目的凡橱,單純的配置文件往往不夠靈活,于是亭姥,通過腳本去控制抓取是我最后的選擇稼钩。 而去重調(diào)度,隊(duì)列达罗,抓取坝撑,異常處理,監(jiān)控等功能作為框架粮揉,提供給抓取腳本巡李,并保證靈活性。最后加上web的編輯調(diào)試環(huán)境扶认,以及web任務(wù)監(jiān)控侨拦,即成為了這套框架。
3.官方文檔:http://docs.pyspider.org/
中文網(wǎng)址:http://www.pyspider.cn/book/pyspider/
最新版本:?https://github.com/binux/pyspider/releases
4.Ubuntu 安裝方法:
安裝:
添加依賴
sudo apt-get install python python-dev python-distribute python-pip libcurl4-openssl-dev libxml2-dev libxslt1-dev python-lxml libssl-dev zlib1g-dev
sudo apt-get install phantomjs
pip3 install pyspider
啟動(dòng):
pyspider all
5.pyspider的方法:
def on_start(self):是腳本的入口點(diǎn)辐宾。單擊run儀表板上的按鈕時(shí)將調(diào)用它狱从。
def index_page(self, response):得到一個(gè)Response*對(duì)象膨蛮。response.doc*是一個(gè)pyquery對(duì)象,它有類似jQuery的API來選擇要提取的元素季研。
def detail_page(self, response):返回一個(gè)dict對(duì)象作為結(jié)果敞葛。結(jié)果將resultdb默認(rèn)捕獲。您可以覆蓋on_result(self, result)方法來自行管理結(jié)果与涡。