Pyspider的基本使用 -- 入門

簡介

  • 一個國人編寫的強大的網絡爬蟲系統並帶有強大的WebUI
  • 採用Python語言編寫,分佈式架構,支持多種數據庫後端,強大的WebUI支持腳本編輯器,任務監視器,項目管理器以及結果查看器
  • 官方文檔:http://docs.pyspider.org/en/latest/

安裝

啓動服務

  • 命令窗口輸入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秒


執行任務

  • 完成腳本編寫,調試無誤後,先save腳本,而後返回到控制檯首頁
  • 直接點擊項目狀態status那欄,把狀態由TODO改爲DEBUG或RUNNING
  • 最後點擊項目最右邊的Run按鈕啓動項目

對接phantomjs

  • phantomjs.exe放在Python環境根目錄下,或者將所在目錄添加到系統的環境變量
  • 添加成功,啓動服務時,會顯示以下信息


沒使用js渲染



使用js渲染

  • 添加參數 fetch_type = 'js'


其它

  • rate/burst
    • rate:一秒鐘執行的請求個數
    • burst:併發的數量
    • 例如:2/五、每秒兩個請求,併發數量爲5,即每秒10個請求
  • 設置渲染的web頁面的高度
    • 在源代碼裏修改css樣式便可(#tab-web iframe)
    • css文件路徑:python安裝目錄下 Lib\site-packages\pyspider\webui\static 裏的 debug.min.css
相關文章
相關標籤/搜索