1. 程式人生 > >scrapy入門教程()Gerapy分散式爬蟲管理框架

scrapy入門教程()Gerapy分散式爬蟲管理框架

一、介紹: Gerapy 是一款分散式爬蟲管理框架,支援 Python 3,基於 Scrapy、Scrapyd、Scrapyd-Client、Scrapy-Redis、Scrapyd-API、Scrapy-Splash、Jinjia2、Django、Vue.js 開發等。在爬蟲方面Gerapy 可以幫助我們:

①更方便地控制爬蟲執行 ②更直觀地檢視爬蟲狀態 ③更實時地檢視爬取結果 ④更簡單地實現專案部署 ⑥更統一地實現主機管理

二、gerapy的初始化配置: (1)啟動scrapyd服務 在這裡插入圖片描述 (1)安裝gerapy分散式爬蟲管理框架。命令pip install gerapy 在這裡插入圖片描述 此時,已經安裝成功了。 在這裡插入圖片描述

(3)檢查gerapy是否可用。輸入命令gerapy即可。 在這裡插入圖片描述 (4)初始化gerapy,生成gerapy框架的工作目錄。(在哪執行初始化,一般進入D盤根目錄即可) 命令gerapy init 在這裡插入圖片描述 初始化完成,進入gerapy資料夾,會有一個projects資料夾。 在這裡插入圖片描述 (5)再進入gerapy目錄,再執行gerapy資料庫的初始化,建立相關的資料庫表。 命令gerapy migrate 在這裡插入圖片描述 此時,再回到我們的建立的gerapy資料夾下,就會多出一個db.sqlite3的檔案。 在這裡插入圖片描述 (6)在gerapy目錄下,啟動gerapy服務,預設在8000埠。 命令gerapy runserver 在這裡插入圖片描述 此時,開啟瀏覽器輸入
http://localhost:8000
,可以看到 Gerapy 的主介面。 在這裡插入圖片描述

(7)完成以上步驟,說明gerapy初始化成功了。但是現在還沒有新增主機和專案,所有的主機數量和專案數量都是0。

三、gerapy管理介面的使用 配置gerapy的主機(服務,也就是將來爬蟲專案上傳的主機地址)

(1)點選左側 Clients 選項卡,即主機管理頁面,新增我們的 Scrapyd 遠端服務,點選右上角的建立按鈕即可新增我們需要管理的 Scrapyd 服務。 在這裡插入圖片描述 名稱可以隨便起。ip和埠為部署位置的ip和埠。 在這裡插入圖片描述

(2)在cmd中,開啟scrapyd服務。(如果scrapyd在遠端伺服器上已經部署成功了,那麼是不需要再次進行開啟的。一般遠端伺服器上的scrapyd會一直保持執行狀態。 在這裡插入圖片描述

(3)再次重新整理主機管理,scrapyd的連線狀態變成normal即可。 在這裡插入圖片描述 四、gerapy部署爬蟲專案 (1) 點選左側的 Projects ,即專案管理選項。 在這裡插入圖片描述 (2)將自己的爬蟲專案,拷貝到gerapy目錄下的projects目錄下。 在這裡插入圖片描述 (3)重新整理瀏覽器頁面,我們便可以看到 Gerapy 檢測到了這個專案。 在這裡插入圖片描述 (4)點選部署按鈕進行打包和部署,在右下角我們可以輸入打包時的描述資訊,類似於 Git 的 commit 資訊,然後點選打包按鈕,即可發現 Gerapy 會提示打包成功,同時在左側顯示打包的結果和打包名稱。 (5)此時,點選主機管理中的排程,即可啟動爬蟲以及關閉爬蟲,檢視日誌等。 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 (6)至此,gerapy的安裝和部署已全部實現。 在這裡插入圖片描述

五、可能有的疑問: Gerapy 與 scrapyd 有什麼關聯嗎?

①我們僅僅使用scrapyd是可以呼叫scrapy進行爬蟲,只是需要使用命令列開啟爬蟲 curl http://127.0.0.1:6800/schedule.json -d project=工程名 -d spider=爬蟲名 ②使用Greapy就是為了將使用命令列開啟爬蟲變成 “小手一點”。 我們在gerapy中配置了scrapyd後,不需要使用命令列,可以通過圖形化介面直接開啟爬蟲。

在這裡插入圖片描述