在開始以前先要吐槽一下CSDN,昨晚懷着激動得心情寫下了我人生中的第一篇博文,今天審覈經過後發現全部的圖片都不見了,瞬間就不開心了。因此不得不又申請了博客園的帳號,從新開始。html
前段時間一直研究通用爬蟲,作的過程當中也是各類問題,不過好在磕磕絆絆搞出點眉目,中間學到了很多東西,感受互聯網真的好神奇。json
可是接下來問題來了,寫的爬蟲不能老在本身機器上跑吧,如何部署到服務器上呢,而後就開始研究scrapyd。網上搜了不少資料,都在介紹scrapy deploy命令,可是我在機器上安裝上scrapyd以後,怎麼運行都是提示沒有deploy這個命令,真是奇怪,爲何別人均可以呢。通過幾番波折,終於在最新的官方文檔裏面找到了答案。附上地址和截圖:http://doc.scrapy.org/en/latest/topics/commands.htmlwindows
原來1.0版本之後這個命令已經廢棄了,再一查我安裝的版本是1.0.3。而後就根據提示去下載scrapyd-client。瀏覽器
本覺得日後就會順利一點,可是安裝了scrapyd-client之後運行,仍是一直提示沒有scrapy-client命令。羣裏請教,網上查資料都沒有解決,在我快絕望的時候終於在stack overflow上找到了答案。附上地址和截圖:http://stackoverflow.com/questions/22646323/windows-scrapyd-deploy-is-not-recognized服務器
根據人家提供的方法一試,果真OK,感受SO真的好強大。curl
解決了以上問題,下面的部署就順利的多了。記一下以方便之後查閱,也給像我同樣的菜鳥一點參考。scrapy
個人scrapy.cfg設置以下:ide
[deploy:scrapyd1]url
url = http://192.168.2.239:6800/spa
project = Crawler
1. 啓動scrapyd
在要部署的服務器上啓動scrapyd。顯示如下內容表示啓動成功。
默認的端口是6800。能夠在瀏覽器中查看結果,好比:http://192.168.2.239:6800/。顯示效果以下:
能夠點擊jobs查看爬蟲運行狀況:
2. 發佈工程到scrapyd
scrapyd-deploy <target> -p <project>
首先要切換目錄到項目所在路徑,而後執行下列指令:
scrapyd-deploy scrapyd1 -p Crawler
3. 驗證是否發佈成功
scrapyd-deploy -L <target>
若是現實項目名稱,表示發佈成功。
scrapyd-deploy -L scrapyd1
也能夠用scrapyd-deploy -l
4. 啓動爬蟲
curl http://192.168.2.239:6800/schedule.json -d project=Crawler -d spider=CommonSpider
經過頁面能夠實時監控爬蟲運行效果:
5. 終止爬蟲
curl http://192.168.2.239:6800/cancel.json -d project=Crawler -d job= 8270364f9d9811e5adbf000c29a5d5be
部署過程當中可能會有不少錯誤,包括缺乏第三方庫啥的,本身根據提示便可解決。
以上只是對scrapyd的初步瞭解,不少深層的內容等慢慢研究之後會持續更新總結。若是以上內容哪裏有不對的地方,請各位朋友及時回覆交流,小弟在此謝過。