scrapyd
scrapy是一個服務,可以將爬蟲部署在服務器端運行。並通過HTTP JSON的方式控制爬蟲,在web頁面上監控爬蟲。
安裝
服務器端安裝scrapyd
pip install scrapyd
安裝成功後,輸入scrapyd,出現下面的情況,啓動成功。
瀏覽器輸入127.0.0.1:6800,即可查看頁面。
jobs裏面可以查看執行的任務狀態,logs查看日誌。
同時在當前的路徑下,會生成scrapyd的項目文件夾,用來存放scrapy等數據文件。
使用
使用scrapyd需要安裝scrapyd-client模塊,這個模塊負責將scrapy打包到scrapyd服務上。使用pip模塊安裝。
pip install scrapyd-client
安裝完成後,會在當前環境的python目錄下的scripts文件夾中出現一個scrapyd-deploy的無後綴文件,這個無法在windows環境下運行。
新建一個文件,命名爲:scrapyd-deploy.bat,內容爲環境路徑:
@echo off
C:\ProgramData\Anaconda3\envs\pachong\python.exe C:\ProgramData\Anaconda3\envs\pachong\Scripts\scrapyd-deploy %*
進入到scrapy項目的路徑下,輸入scrapyd-deploy 測試,出現下面情況表示可以正常使用了。
scrapy項目有個scrapy.cfg的配置文件,修改這個配置文件。
修改部署名和解url的註釋。使用:scrapyd-deploy -l 命令可以查看當前設置的名稱。
使用scrapyd-deploy時scrapyd服務不要關閉,使用scrapy list可以查看當前目錄下的spider的名稱。使用打包命令進行打包:
scrapyd-deploy sss -p lk
出現下面的情況,打包成功。
scrapyd的web頁面上會顯示設置的項目名稱。
運行打包好的scrapy項目使用下面的命令。
curl http://localhost:6800/schedule.json -dproject=lk -d spider=example
在scrapyd的web上jobs裏面可以查看狀態。
停止的話使用下面的命令,最後的job是jobid。
curl http://localhost:6800/cancel.json -dproject=ls -d job=44bec8dcb1d011eaa69c98541bebceda
scrapyd的使用很多都是命令操作,有一個結合scrapyd使用的叫作gerapy,它使用了圖形化的界面,無需輸入命令進行操可視化的操作。