簡介 一個國人編寫的強大的網路爬蟲系統並帶有強大的WebUI 採用Python語言編寫,分散式架構,支持多種資料庫後端,強大的WebUI支持腳本編輯器,任務監視器,項目管理器以及結果查看器 官方文檔:http://docs.pyspider.org/en/latest/ 安裝 pip install ...
簡介
- 一個國人編寫的強大的網路爬蟲系統並帶有強大的WebUI
- 採用Python語言編寫,分散式架構,支持多種資料庫後端,強大的WebUI支持腳本編輯器,任務監視器,項目管理器以及結果查看器
- 官方文檔:http://docs.pyspider.org/en/latest/
安裝
- pip install pyspider
- 安裝失敗的解決方法
啟動服務
- 命令視窗輸入pyspider
打開Web界面
- 瀏覽器輸入localhost:5000
創建項目
刪除項目
- 刪除某個:設置 group 為 delete ,status 為 stop ,24小時之後自動刪除
- 刪除全部:在啟動服務的路徑下,找到它自己生成的data目錄,直接刪除目錄里的所有文件
禁止證書驗證
- 加上參數 validate_cert = False
使用方法
- on_start(self)
- 入口方法,run的時候,預設會調用
- crawl()
- 生成一個新的爬取請求,類似於scrapy.Request,接受的參數是ur1和callback
- @every(minutes=2, seconds=30)
- 告訴scheduler兩分30秒執行一次
- @config(age=10 * 24 * 60 * 60)
- 告訴調度器(單位:秒)、這個請求過期時間是10天、10天之內不會再次請求
- @config(priority=2)
- 優先順序、數字越大越先執行
- age寫在函數裡面跟寫在裝飾器上的區別
- 寫在函數裡面的後執行,下圖實際過期時間為5秒,若函數里沒有age,則為裝飾器里定義的20秒
- 寫在函數裡面的後執行,下圖實際過期時間為5秒,若函數里沒有age,則為裝飾器里定義的20秒
執行任務
- 完成腳本編寫,調試無誤後,先save腳本,然後返回到控制台首頁
- 直接點擊項目狀態status那欄,把狀態由TODO改成DEBUG或RUNNING
- 最後點擊項目最右邊的Run按鈕啟動項目
對接phantomjs
- 將phantomjs.exe放在Python環境根目錄下,或者將所在目錄添加到系統的環境變數
- 添加成功,啟動服務時,會顯示如下信息
沒使用js渲染
使用js渲染
- 添加參數 fetch_type = 'js'
其它
- rate/burst
- rate:一秒鐘執行的請求個數
- burst:併發的數量
- 例如:2/5、每秒兩個請求,併發數量為5,即每秒10個請求
- 設置渲染的web頁面的高度
- 在源代碼里修改css樣式即可(#tab-web iframe)
- css文件路徑:python安裝目錄下 Lib\site-packages\pyspider\webui\static 里的 debug.min.css