安裝相關庫
scrapyd
是運行scrapy爬蟲的服務程序,它支持以http命令方式發佈、刪除、啓動、停止爬蟲程序。而且scrapyd可以同時管理多個爬蟲,每個爬蟲還可以有多個版本
pip3 install scrapyd
scrapyd-client
發佈爬蟲需要使用另一個專用工具,就是將代碼打包爲EGG文件,其次需要將EGG文件上傳到遠程主機上這些操作需要scrapyd-client來幫助我們完成
pip3 install scrapyd-client
安裝完成後可以使用如下命令來檢查是否安裝成功
scrapyd-deploy -h
修改scrapy項目目錄下的scrapy.cfg配置文件
首先需要修改scrapyd.egg (項目的配置文件)
[deploy]
url=http://localhost:6800
project=項目名稱
本地部署
本地部署
項目部署相關命令: 注意這裏是項目的名稱而不是工程的名稱
scrapyd-deploy -p <項目名稱>
也可以指定版本號
scrapyd-deploy -p <項目名稱> --version <版本號>
運行
$ curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider
暫停
curl http://localhost:6800/cancel.json -d project=myproject -d job=6487ec79947edab326d6db28a2d86511e8247444
delproject.json 刪除項目及其所有上載版本。
curl http://localhost:6800/delproject.json -d project=myproject
遠端部署
- 配置python環境(ubuntu自帶python3環境))
- 安裝pip3:sudo apt install python3-pip
- 安裝scrapy:pip3 install scrapy -i https://pypi.douban.com/simple/
- 如果安裝失敗添加如下依賴:
sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
- 安裝scrapyd: pip3 install scrapyd
- 安裝scrapyd-client: pip3 install scrapyd-client
- 添加爬蟲運行的三方庫:
- pip3 install requests
- pip3 install pymysql
- pip3 install pymongodb
修改scrapyd的配置文件,允許外網訪問
- 查找配置文件的路徑:find -name default_scrapyd.conf
- 修改配置文件: sudo vim 路徑
- 注意:此時啓動scrapayd服務6800端口還不能訪問,需要把ind_address改爲ind_address = 0.0.0.0
要去服務器安全組配置
進入服務安全組選項添加安全組
添加成功後,點擊修改規則,添加如下信息(配置目的:允許訪問6800端口)
完成後返回到雲主機菜單,找到配置安全組菜單,跟換爲剛纔添加的安全組
之後跟上面的部署步驟一樣
Gerapy使用
介紹:
Gerapy 是一款分佈式爬蟲管理框架,支持 Python 3,基於 Scrapy、Scrapyd、Scrapyd-Client、Scrapy-Redis、Scrapyd-API、Scrapy-Splash、Jinjia2、Django、Vue.js 開發,Gerapy 可以幫助我們:
- 更方便地控制爬蟲運行
- 更直觀地查看爬蟲狀態
- 更實時地查看爬取結果
- 更簡單地實現項目部署
- 更統一地實現主機管理
- 提供在線編輯代碼功能
Greapy 安裝和使用
gerapy下載
pip3 install gerapy
查看是否安裝成功
gerapy
初始化gerapy
gerapy init
執行完畢之後,便會在桌面下生成一個名字爲 gerapy 的文件夾,接着進入該文件夾,可以看到有一個 projects 文件夾
初始化數據庫
進入到gerapy文件夾下
cd gerapy
執行(會在gerapy目錄下生產一個sqlite數據庫,同時創建數據表,數據庫中會保存各個主機配置信息、部署版本等)
gerapy migrate
運行gerapy服務
gerapy runserver
訪問gerapy管理界面,在瀏覽器中輸入如下網址
http://127.0.0.1:8000
在主機管理中添加個臺主機的Scrapyd運行地址和端口,並設置名稱,然後個臺主機則會出現在主機列表中,Gerapy會監控個臺主機的運行狀態。
之後就可以實現調度了
處理可以管理控制已經部署好的項目外,Gerapy還支持打包和部署項目
進入到gerapy文件夾下,找到projects目錄
cd gerapy
```![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20190920163135840.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE2NzUzMQ==,size_16,color_FFFFFF,t_70)在此頁面進行打包和部署項目到指定服務器
![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20190920163158209.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE2NzUzMQ==,size_16,color_FFFFFF,t_70)部署完成後就可以運行和管理爬蟲項目了