scrapy入門教程()部署爬蟲專案
scrapyd部署爬蟲專案
1、scrapyd介紹
它就相當於是一個伺服器,用於將自己本地的爬蟲程式碼,打包上傳到伺服器上,讓這個爬蟲在伺服器上執行,可以實現對爬蟲的遠端管理(遠端啟動爬蟲,遠端關閉爬蟲,遠端檢視爬蟲的一些日誌等)。
2、scrapyd安裝
使用命令pip install scrapyd進行安裝即可。
此處安裝的版本是scrapyd==1.2.0
3、scrapyd部署
(1)、既然要部署,那麼就需要將本地的爬蟲專案打包上傳至scrapyd服務。那麼問題來了?怎麼將爬蟲專案上傳至scrapyd服務呢?這就需要用到scrapyd服務客戶端(類似於redis的redis-cli.exe,MongoDB資料庫的client)。使用scrapyd-client這個客戶端工具對scrapyd這個服務進行操作。
scrapyd-client下載地址:https://github.com/scrapy/scrapyd-client
(2)安裝scrapyd-client工具,使用命令pip install scrapyd-client進行安裝即可。
此處安裝的版本是scrapyd-client==1.1.0
①值得注意的一點是:服務端scrapyd和客戶端scrapyd-client安裝的版本一定要保持一致,不然會出現相容性的問題等等。
②我們上一步安裝的scrapyd(版本是1.2.0)和scrapyd-client(版本是1.1.0),版本不一致,為了保持一致,我們需要下載1.2.0版本的scrapyd-client客戶端工具。
③回到我們之前說的scrapyd-client的下載地址,點選進去檢視最新版的scrapyd-client客戶端工具。
④既然已經知道了最新版本的版本號,那麼我們只需指定版本安裝。即使用pip install scrapyd-client==1.2.0a1命令進行安裝即可。
此時的scrapyd版本(==1.2.0)與scrapyd-client(==1.2.0a1)的版本已經一致。
(3)上述scrapyd服務安裝好之後,就可以啟動scrapyd服務了。使用命令scrapyd即可。
此時,我們可以看到服務已經啟動,使用的是127.0.0.1,即本地的localhost,埠是6800.
開啟瀏覽器輸入地址:http://127.0.0.1:6800 或 http://localhost:6800 即可訪問到如下內容:
(4)此時,我們就可以配置爬蟲專案,配置完成以後,通過addversion.json進行打包。
找到爬蟲專案下的scrapy.cfg檔案。
(5)修改scrapy.cfg檔案。
[deploy:bole] ----->給部署的爬蟲在scrapyd中設定名稱。
url= http://localhost:6800/ ------->去掉這一行的註釋,表示爬蟲專案要不熟的scrapyd服務的地址。
project=jobbolespider ------>表示我們的專案名稱。
(6)上面開啟的scrapyd服務視窗不要關閉,另起一個cmd視窗。用於使用scrapyd-client連線scrapyd服務。
①進入到專案根目錄,然後輸入scrapyd-deploy命令,檢視scrapyd-client服務是否可用。
②檢視當前可用於打包上傳的專案。命令scrapyd-deploy -l
③使用命令上傳。scrapyd-deploy bole -p jobbolespider
獲得一個響應結果:
{“node_name”: “9MEUNFQYK0DNVAM”, “status”: “ok”, “project”:“jobbolespider”, “version”: “1538049912”, “spiders”: 1}
其參數列示如下含義:
Status: “ok”/”error” 專案上傳狀態
Project: 上傳的專案名稱
Version: 專案的版本號,值是時間戳
Spiders: 專案Project包含的爬蟲個數
④通過呼叫api介面,檢視已經上傳至scrapyd服務的專案。
命令:curl http://localhost:6800/listprojects.json
值得注意的一點:curl是linux下的命令,想要在cmd中執行,如果你是anaconada的環境可以直接使用此命令。如果你用的是python3.x的環境,可以到這個網站上下載curl-7.33.0-win64-nossl.zip 直接使用。
網址:https://curl.haxx.se/download/archeology/
為了方便在命令視窗任意目錄下使用curl,最好配置一下環境變數:
a、增加CURL_HOME環境變數:如D:\curl-7.3.0\curl (值是對應curl.exe所在的目錄)
b、在PATH環境變數里加上%CURL_HOME%;
此時,在執行命令:curl http://localhost:6800/listprojects.json 即可檢視已經上傳至scrapyd服務的專案。
Projects: [] 所有已經上傳的爬蟲專案,都會顯示在這個列表中。
值得注意的一點是:如果專案上傳失敗,需要先將爬蟲專案中打包生成的檔案刪除(build、project.egg-info、setup.py),然後再重新打包上傳。
⑤通過呼叫api介面,檢視某一個專案中的所有爬蟲名稱;
命令:curl http://localhost:6800/listspiders.json?project=jobbolespider
⑥通過呼叫api介面,啟動爬蟲。
命令:curl http://localhost:6800/schedule.json -d project=爬蟲專案名稱 -d spider=專案中某一個爬蟲名稱
Jobid: 是根據專案(jobbolespider)和爬蟲(bole)生成的一個id,將來用於取消爬蟲任務。
此時在瀏覽器進行檢視當前執行的專案。
⑦通過呼叫api介面,取消爬蟲。
命令:curl http://localhost:6800/cancel.json -d project=爬蟲專案名稱 -d job=jobid(爬蟲啟動的額時候分配的)
⑧其他命令就不一一嘗試了。下文列出。
檢查服務的負載狀態。
命令:curl http://localhost:6800/daemonstatus.json
獲取專案列表
命令:curl http://127.0.0.1:6800/listprojects.json
獲取某專案下的爬蟲列表
命令:curl http://127.0.0.1:6800/listspiders.json?project=myproject
獲取某爬蟲的執行狀態
命令:curl http://127.0.0.1:6800/listjobs.json?project=myproject
刪除某一專案,包括該專案下的所有爬蟲
命令:curl http://127.0.0.1:6800/delproject.json -d project = myproject
刪除專案版本。如果給定專案沒有更多可用版本,則該專案也將被刪除。
命令:curl http://localhost:6800/delversion.json -d project=myproject -d version=r99
相關文章
- Scrapy入門-第一個爬蟲專案爬蟲
- Python爬蟲教程-31-建立 Scrapy 爬蟲框架專案Python爬蟲框架
- Scrapy建立爬蟲專案爬蟲
- 爬蟲0060:scrapy快速入門爬蟲
- 爬蟲專案部署爬蟲
- python爬蟲學習筆記 4.2 (Scrapy入門案例(建立專案))Python爬蟲筆記
- Scrapy使用入門及爬蟲代理配置爬蟲
- Python爬蟲入門專案Python爬蟲
- 在scrapy框架下建立爬蟲專案,建立爬蟲檔案,執行爬蟲檔案框架爬蟲
- Python爬蟲教程-32-Scrapy 爬蟲框架專案 Settings.py 介紹Python爬蟲框架
- scrapyd 部署爬蟲專案爬蟲
- Python網路爬蟲4 - scrapy入門Python爬蟲
- 精通Scrapy網路爬蟲【一】第一個爬蟲專案爬蟲
- scrapy通用專案和爬蟲程式碼模板爬蟲
- 利用scrapy建立初始Python爬蟲專案Python爬蟲
- gerapy框架爬蟲專案部署框架爬蟲
- Scrapy定向爬蟲教程(一)——建立執行專案和基本介紹爬蟲
- Java爬蟲入門(一)——專案介紹Java爬蟲
- scrapy爬蟲爬蟲
- Python爬蟲教程-30-Scrapy 爬蟲框架介紹Python爬蟲框架
- 專案之爬蟲入門(豆瓣TOP250)爬蟲
- 爬蟲--Scrapy簡易爬蟲爬蟲
- 爬蟲教程——用Scrapy爬取豆瓣TOP250爬蟲
- Python爬蟲入門教程 33-100 《海王》評論資料抓取 scrapyPython爬蟲
- 手把手教你寫網路爬蟲(4):Scrapy入門爬蟲
- 【爬蟲】將 Scrapy 部署到 k8s爬蟲K8S
- Scrapy爬蟲-草稿爬蟲
- Scrapy爬蟲框架爬蟲框架
- 爬蟲入門爬蟲
- Python爬蟲深造篇(四)——Scrapy爬蟲框架啟動一個真正的專案Python爬蟲框架
- scrapy 框架新建一個 爬蟲專案詳細步驟框架爬蟲
- Python爬蟲入門學習實戰專案(一)Python爬蟲
- scrapy入門教程2:建立一個簡單的爬取南郵新聞標題的爬蟲demo爬蟲
- 爬蟲(9) - Scrapy框架(1) | Scrapy 非同步網路爬蟲框架爬蟲框架非同步
- Python3 大型網路爬蟲實戰 — 給 scrapy 爬蟲專案設定為防反爬Python爬蟲
- Python爬蟲入門教程導航帖Python爬蟲
- 【動圖演示】笑眯眯地教你如何將 Scrapy 專案及爬蟲打包部署到伺服器爬蟲伺服器
- scrapy爬蟲代理池爬蟲