Scrapyd部署爬蟲
- 2019 年 12 月 31 日
- 筆記
文章目錄
Scrapyd部署爬蟲
準備工作
安裝scrapyd: pip install scrapyd
- 安裝
scrapyd-client : pip install scrapyd-client
安裝curl:[安裝地址](http://ono60m7tl.bkt.clouddn.com/curl.exe)
,安裝完成以後將所在目錄配置到環境變量中
開始部署
- 修改
scrapy
項目目錄下的scrapy.cfg
文件,修改如下 123[deploy:JD_Spider] #加上target :nameurl = http://localhost:6800/ #將前面的#刪除project = JD #project的名字,可以使用默認的,當然也可以改變 - 在任意目錄下的打開終端,輸入
scrapyd
,觀察是否運行成功,運行成功的話,就可以打開http://localhost:6800
看是否正常顯示,如果正常顯示則看到下面的這張圖,這裡的JD
是部署之後才能看到的,現在是看不到的,所以沒出現也不要擔心: - 在項目的根目錄下運行如下的命令:
python E:python2.7Scriptsscrapyd-deploy target -p project
,這裡的E:python2.7Scripts是你的python安裝目錄,Scripts是安裝目錄下的一個文件夾,注意前面一定要加上python,target是在前面scrapy.cfg中設置的deploy:JD_Spider,JD_Spider就是target,project 是JD,因此這個完整的命令是python E:python2.7Scriptsscrapyd-deploy JD_Spider -p JD
,現在項目就部署到上面了,這下網頁上就有JD
了,詳情請見上圖 - 驗證是否成功,你可以在網頁上看有沒有顯示你的工程名字,另外在根目錄下輸入
python E:python2.7Scriptsscrapyd-deploy -l
就能列出你所有部署過的項目了 - 啟動爬蟲:
curl http://localhost:6800/schedule.json -d project=myproject -d spider=spider_name
,這裡的project
填入的是項目名,spider_name
填入的是你的爬蟲中定義的name
,運行我的實例完整的代碼為:curl http://localhost:6800/schedule.json -d project=JD -d spider=spider
,這裡將會顯示如下信息:
#這裡的jobid比較重要,下面會用到這個取消爬蟲 {"status": "ok", "jobid": "3013f9d1283611e79a63acb57dec5d04", "node_name": "DESKTOP-L78TJQ7"}
- 取消爬蟲:
curl http://localhost:6800/cancel.json -d project=myproject -d job=jobid
,jobid
就是上面的提到過的,如果取消我的這個實例代碼如:curl http://localhost:6800/cancel.json -d project=JD -d job=3013f9d1283611e79a63acb57dec5d04
,那麼它的狀態就會變成如下:
{"status": "ok", "prevstate": "running", "node_name": "DESKTOP-L78TJQ7"}
- 列出項目:
curl http://localhost:6800/listprojects.json
,下面將會出現你已經部署的項目 - 刪除項目:
curl http://localhost:6800/delproject.json -d project=myproject
- 列出版本:
curl http://localhost:6800/listversions.json?project=myproject
,這裡的project
是項目的名字,是在scrapy.cfg設置的 - 列出爬蟲:
curl http://localhost:6800/listspiders.json?project=myproject
這裡的project
是項目的名字,是在scrapy.cfg設置的 - 列出
job
:curl http://localhost:6800/listjobs.json?project=myproject
這裡的project
是項目的名字,是在scrapy.cfg
設置的 - 刪除版本:
curl http://localhost:6800/delversion.json -d project=myproject -d version=r99
,這裡的version
是自己的項目版本號,在刪除之前需要查看版本號
作者說 本人秉着方便他人的想法才開始寫技術文章的,因為對於自學的人來說想要找到系統的學習教程很困難,這一點我深有體會,我也是在不斷的摸索中才小有所成,如果你們覺得我寫的不錯就幫我推廣一下,讓更多的人看到。另外如果有什麼錯誤的地方也要及時聯繫我,方便我改進,謝謝大家對我的支持
版權信息所有者:chenjiabing 如若轉載請標明出處:chenjiabing666.github.io6