天津11选5一定牛:Scrapyd部署

作者: 魯智深 分類: Python,scrapy 發布時間: 2019-09-24 16:04

天津11选5中奖结果 www.ebzvaz.com.cn Scrapyd 是一個server,是scrapy官方推薦的部署管理spider的服務,以及通過http json控制spider。

首先先安裝scrapyd

scrapyd的安裝必須在能運行scrapy項目的虛擬環境中

1
pip install scrapyd

運行Scrapyd

1
scrapyd

2019-09-24T15:11:05+0800 [-] Loading /home/atguigu/Envs/crawler-PlsRPGJ5/lib/python3.6/site-packages/scrapyd/txapp.py…
2019-09-24T15:11:05+0800 [-] Scrapyd web console available at //127.0.0.1:6800/
2019-09-24T15:11:05+0800 [-] Loaded.
2019-09-24T15:11:05+0800 [twisted.scripts._twistd_unix.UnixAppLogger#info] twistd 19.7.0 (/home/atguigu/Envs/crawler-PlsRPGJ5/bin/python3.6 3.6.8) starting up.
2019-09-24T15:11:05+0800 [twisted.scripts._twistd_unix.UnixAppLogger#info] reactor class: twisted.internet.epollreactor.EPollReactor.
2019-09-24T15:11:05+0800 [-] Site starting on 6800
2019-09-24T15:11:05+0800 [twisted.web.server.Site#info] Starting factory
2019-09-24T15:11:05+0800 [Launcher] Scrapyd 1.2.1 started: max_proc=16, runner=’scrapyd.runner’

啟動了Scrapyd,發現Scrapyd是一個服務器,那我們需要一個Scrapyd-client客戶端發送爬蟲代碼到Scrapyd服務中去。

這里先修改一下Scrapyd服務地址,默認scrapyd啟動是通過scrapyd就可以直接啟動,bind綁定的ip地址是127.0.0.1端口是:6800,這里為了其他主機可以訪問,需將ip地址設置為0.0.0.0

即將

1
bind_address = 127.0.0.1

改為

1
bind_address = 0.0.0.0

scrapyd的配置文件(pipenv環境路徑)

1
/home/atguigu/Envs/crawler-PlsRPGJ5/lib/python3.6/site-packages/scrapyd

訪問地址

1
//192.168.153.166:6800/

這樣我們就可以在其他主機通過瀏覽器訪問了

安裝scrapyd-client

有了scrapyd服務,下面就要用scrapyd-client打包scrapy成egg文件發送到scrapyd服務中。

1
pip install scrapyd-client

無需在虛擬環境中,任何環境下安裝即可,只是負責打包的任務

首先cd進入項目的根目錄,然后可以使用以下內容部署項目:測試運行

1
scrapyd-deploy

返回 Unknown target: default

部署項目

檢查配置, 列出當前可用的服務器

1
scrapyd-deploy -l

xinchen_server //localhost:6800/

列出服務器上所有的項目, 需要確保服務器上的scrapyd命令正在執行,否則會報連接失敗.首次運行的話,可以看到只有一個default項目

1
2
$ scrapyd-deploy -L xinchen_server
default

打開//localhost:6800/, 可以看到Available projects: default

打包你的當前項目

1
scrapyd-deploy xinchen_server -p xinchen

我們也可以把項目信息寫入到配置文件中,部署時就不用指定項目信息,編輯scrapy.cfg文件,添加項目信息

1
2
3
4
5
6
7
[settings]
default = xinchen.settings

[deploy:xinchen_server]
url = //localhost:6800/
username = root
password =

下次部署可以直接執行

1
scrapyd-deploy

運行爬蟲

1
curl //localhost:6800/schedule.json -d project=xinchen -d spider=douban_film_comment

停止爬蟲

1
curl //localhost:6800/cancel.json -d project=xinchen -d job=94bd8ce041fd11e6af1a000c2969bafd

如果覺得我的文章對您有用,請隨意打賞。您的支持將鼓勵我繼續創作!

發表評論

電子郵件地址不會被公開。 必填項已用*標注