手把手教你使用爬蟲管理工具|Scrapyd的使用
Scrapyd-網頁版分佈爬蟲管理器
scrapyd英文文件:https://scrapyd.readthedocs.io/en/stable/
scrapyd中文文件:https://piaosanlang.gitbooks.io/spiders/05day/section5.3.html
專案地址:https://github.com/scrapy/scrapyd
前言
今天介紹的是scrapyd,是scrapy專案下的一個子專案,主要是用來便於管理分散式爬蟲,根據上一篇分散式scrapy爬蟲我們可以知道,我們寫好分散式爬蟲之後往往需要放到多個爬蟲伺服器上,當然也是可以放在一個伺服器上,但是多個爬蟲服務同時開啟管理起來就比較麻煩,今天介紹的scrapyd就是用來管理多個並行爬蟲的工具。
準備
-
電腦一臺
-
伺服器一臺(也可以不用)
-
之前的scrapy專案----news
scarpyd實戰案例
1.安裝環境
在windows環境下使用pip intsall scrapyd-client安裝scrapyd客戶端
之後在爬蟲伺服器端使用pip install scrapyd安裝伺服器端(我是用的是linux環境做伺服器,linux的具體操作可以使看之前的推文linux教程)
在客戶端找到python安裝路徑裡的script檔案,進入後你會發現裡邊有一個scrapyd-deploy是沒有後綴的
在這個路徑下新建一個bat檔案,在裡邊輸入以下內容
之後儲存即可。
2.專案上傳
在上傳之前需要先修改一下news爬蟲的內容,在爬蟲專案根目錄下的scrapy.cfg。
之後開啟cmd進到爬蟲的目錄之後輸入以下命令:
之後就將專案上傳到伺服器上了,然後在伺服器輸入scrapyd就打開了scrapyd伺服器了。
3.啟動爬蟲
在客戶端cmd輸入:
curl http://伺服器ip:6800/schedule.json -d project=工程名(news) -d spider=爬蟲名(news_spider)
爬蟲就自動開啟了
4.關閉爬蟲:
在客戶端cmd輸入:
curl http://爬蟲ip:6800/cancel.json -d project=news -d job=jobid(後邊會說明)
5.效果展示
jobid相當於每個開啟的爬蟲的一個身份證,結束爬蟲的時候需要用到。
常見問題
問題一:在客戶端打不開伺服器端管理網頁
發現是本地環回地址
解決思路:在伺服器端使用命令find / -name scrapyd.conf,找到配置檔案之後,進行修改,將bind_address改成0.0.0.0(vi操作在linux入門中第三篇)
問題二:使用瀏覽器訪問伺服器地址的時候始終無法訪問
解決思路:不要使用2345瀏覽器或者其他瀏覽器訪問,換成Chrome就可以解決問題。
總結
在爬蟲較多比較難管理的時候可是考慮使用scrapyd進行管理,管理起來比較方便,並且部署起來難度也不是很大。並且可以使用Gerapy和scrapyd相結合來實現視覺化的效果。