在開始之前先要吐槽一下CSDN,昨晚懷着激動得心情寫下了我人生中的第一篇博文,今天審核通過后發現所有的圖片都不見了,瞬間就不開心了。所以不得不又申請了博客園的賬號,重新開始。
前段時間一直研究通用爬蟲,做的過程中也是各種問題,不過好在磕磕絆絆搞出點眉目,中間學到了不少東西,感覺互聯網真的好神奇。
但是接下來問題來了,寫的爬蟲不能老在自己機器上跑吧,如何部署到服務器上呢,然后就開始研究scrapyd。網上搜了很多資料,都在介紹scrapy deploy命令,但是我在機器上安裝上scrapyd之后,怎么運行都是提示沒有deploy這個命令,真是奇怪,為什么別人都可以呢。經過幾番波折,終於在最新的官方文檔里面找到了答案。附上地址和截圖:http://doc.scrapy.org/en/latest/topics/commands.html

原來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真的好強大。
解決了以上問題,下面的部署就順利的多了。記一下以方便以后查閱,也給像我一樣的菜鳥一點參考。
我的scrapy.cfg設置如下:
[deploy:scrapyd1]
url = http://192.168.2.239:6800/
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的初步了解,很多深層的內容等慢慢研究以后會持續更新總結。如果以上內容哪里有不對的地方,請各位朋友及時回復交流,小弟在此謝過。
