什么是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