什么是Scrapyd
Scrapyd是一个用来管理和运行Scrapy爬虫的服务。它允许用户将Scrapy项目部署到服务器上,然后通过一个简单的 API 来启动、停止和监控爬虫的运行。Scrapyd可以帮助简化爬虫的部署过程,使得用户不必手动在服务器上运行爬虫,也不需要每次更新代码后都重新登录服务器。
安装Scrapyd
1. 安装服务端
pip install scrapyd
启动服务端
scrapyd

访问scrapyd的web页面地址:http://127.0.0.1:6800/

2. 安装客户端
pip install scrapyd-client
windows系统上要安装 pywin32
pip install pywin32
配置 Scrapy 项目
在 scrapy.cfg 文件中文配置
[settings]
default = myproject.settings[deploy:myproject] # deploy:部署名 # 推荐部署名和项目名一致
url = http://localhost:6800/
project = myproject
构建和部署 Scrapy 项目
这条命令会将您的项目打包为 .egg 文件,并将其上传到 Scrapyd 服务中。上传成功后,Scrapyd 会显示已部署的项目和版本信息
# scrapyd-deploy 部署名
# scrapyd-deploy 部署名 -p 项目名
scrapyd-deploy myproject


启动 Scrapy 爬虫
部署成功后,您可以通过 Scrapyd 的 API 启动 Scrapy 爬虫。使用 curl 或其他 HTTP 客户端发送 POST 请求来启动爬虫。例如:
# curl http://localhost:6800/schedule.json -d project=项目名称 -d spider=爬虫名称
curl http://localhost:6800/schedule.json -d project=myproject -d spider=baidu

其他命令
- 查看已部署的项目和版本:
http://localhost:6800/listprojects.json - 查看项目中的爬虫:
http://localhost:6800/listspiders.json?project=your_project_name - 查看正在运行的爬虫,可以查看job_id:
http://localhost:6800/listjobs.json?project=your_project_name - 停止正在运行的爬虫:
http://localhost:6800/cancel.json -d project=your_project_name -d job=jobid