Pyspider是python中的一個很流行的爬蟲框架系統,它具有的特點如下:
1、可以在Python環境下寫腳本
2、具有WebUI,腳本編輯器,並且有項目管理和任務監視器以及結果查看。
3、支持多種數據庫
4、支持定義任務優先級,自動重試鏈接。。。
5、分布式架構
等等優點。
pyspider的設計基礎是:以python腳本驅動的抓取環模型爬蟲。
教程: http://docs.pyspider.org/en/latest/tutorial/
文檔: http://docs.pyspider.org/
發布版本: https://github.com/binux/pyspider/releases
入門范例
from pyspider.libs.base_handler import *
class Handler(BaseHandler):
crawl_config = {
}
@every(minutes=24 * 60)
def on_start(self):
self.crawl('http://scrapy.org/', callback=self.index_page)
@config(age=10 * 24 * 60 * 60)
def index_page(self, response):
for each in response.doc('a[href^="http"]').items():
self.crawl(each.attr.href, callback=self.detail_page)
def detail_page(self, response):
return {
"url": response.url,
"title": response.doc('title').text(),
}
【插入圖片,Pyspider界面】
代碼簡單介紹
def on_start(self):
這是腳本的入口節點,當我們點擊run的時候,程序會自動調用這個函數。
self.crawl(url, callback=self.index_page):
這時最重要的API,將會添加新任務,大部分選項使用crawl的參數來指定。
def index_page(self, response):
這個方法得到一個response對象,然后通過PyQuery的doc命令來解析。
def detail_page(self, response):
返回一個dict對象作為結果。這個結果可以保存到數據庫中。
我們還可以在腳本中自定義函數或者對象。
【插入圖片,運行界面】
安裝
推薦使用Pycharm,在Project Interpreter里面添加pyspider,目前最新的版本是0.3.9.
或者使用pip命令安裝。
今天來不及把整個項目內容講完了,明天繼續。