Scrapy爬虫项目的远程部署和监控:
1. 安装scrapyd 服务 和 scrapyd 客户端
# 安装服务
sudo pip install scrapyd
# 安装客户端
sudo pip install scrapyd-client
scrapyd 安装在 /usr/local/lib/python2.7/site-packages/scrapyd
配置文件: default_scrapyd.conf
参数 bind_address 默认是 127.0.0.1 表示只允许本机访问
修改为 0.0.0.0 运行任何ip访问
2. 运行服务端:
在需要执行爬虫的服务器上运行服务端:
~$ scrapyd
可以在浏览器访问 scrapyd 界面。 http://192.168.118.82:6800
3. 部署爬虫:
在编写爬虫的电脑上运行客户端做部署:
-1. 打开需要部署的scrapy项目的里 scrapy.cfg 文件
# 配置scrapyd
[deploy]
#url = http://localhost:6800/
project = Tencent
修改为:
# 配置scrapyd的配置名
[deploy:scrapyd_Tencent]
# url为开启scrapyd服务的服务器url
url = http://localhost:6800/
#url = http://11.232.122.100:6800/
# 表示执行的Scrapy项目名
project = Tencent
-2 在服务器端将 将指定项目挂载到 scrapyd 服务上。
~$ scrapyd-deploy scrapyd_Tencent -p Tencent
-3 将爬虫部署到scrapyd服务上,并启动:
~$ curl http://192.168.118.82:6800/schedule.json -d project=Tencent -d spider=tencent
- 每次执行爬虫都会生成一个唯一的 jobid ,表示当前执行的爬虫。
{"status": "ok", "jobid": "d6423a07c9b211e7a8cca45e60e36247", "node_name": "PowerMac.local"}
-4 停止指定 jobid 的爬虫:
~$ curl http://192.168.118.82:6800/cancel.json -d project=Tencent -d job=d6423a07c9b211e7a8cca45e60e36247