scrapyd部署scrapy项目

使用Scrapyd远程控制爬虫

Scrapyd是Scrapy提供的可以远程部署和监控爬虫的工具,其官方文档为:http://scrapyd.readthedocs.org/en/latest

第一步:安装Scrapyd服务端和客户端工具

# 安装Scrapyd服务器端
pip3 install scrapyd

# 安装Scrapyd客户端工具
pip3 install scrapyd-client

# 启用Scrapyd服务端
scrapyd

第二步:修改scrapyd的配置文件

# 打开scrapyd配置文件(例) 
# 如果是在虚拟环境中安装则在对应的虚拟环境中的lib/python3.9/site-packages/scrapyd/default_scrapyd.conf
sudo vim /usr/local/lib/python3.9/site-packages/scrapyd/default_scrapyd.conf

安装好scrapyd后,将配置文件中的 bind_address 的值修改为 0.0.0.0,表示允许任何客户端访问scrapyd服务端(默认127.0.0.1,表示只允许本机访问),之后再终端下启动scrapyd服务。

# 启用Scrapyd服务
Power@PowerMac ~$  scrapyd

启动成功后,可以在浏览器打开 http://192.168.xxx.xxx:6800/ (启动服务的主机ip,端口6800)查看Scrapyd的监控信息。

20211115155105.png

第三步:配置Scrapy项目下的Scrapyd配置

  1. 打开Scrapy项目下的scrapy.cfg文件,例如:
[settings]
default = mySpider.settings

[deploy]
#url = http://localhost:6800/
project = Tencent
  1. 启用Scrapyd 配置,在deploy后面指定当前项目的Scrapyd配置名,配置Scrapyd服务的ip和port,以及当前项目的项目名,例如:
# myScrapyd是配置名
[deploy:myScrapyd]        

# url值为开启Scrapyd服务的主机ip,默认端口号为6800
# url = http://123.45.67.89:6800
# 如果是本机Scrapyd服务,则使用localhost即可
url = http://localhost:6800/    

# 需要部署和监控的Scrapy项目名
project = mySpider

第四步:通过Scrapyd客户端工具挂载项目

# 挂载项目: Scrapyd-deploy 是客户端命令,参数是 Scrapyd配置名,以及 -p 指定项目名 如果修改了项目代码则需要重新挂载
scrapyd-deploy myScrapyd -p mySpider

第五步:远程启动和停止爬虫

# 远程启动爬虫:
# project=项目名,spider=需要启动的爬虫名
curl http://localhost:6800/schedule.json -d project=mySpider -d spider=demo

# 注意:爬虫启动成功后,会生成job值,停止爬虫时需要通过job值停止。

# 远程停止爬虫:
# project=项目名,job=启动爬虫生成的job值
curl http://localhost:6800/cancel.json -d project=mySpider -d job=movie


你可能感兴趣的:(scrapyd部署scrapy项目)