Scrapyd爬虫部署服务

博客介绍了Scrapy爬虫后台服务的部署,提供基于JSON的Webservice API管理。内容涵盖安装、启动,启动后会创建服务配置、日志等文件。还涉及爬虫部署、API管理爬虫和WEB监控管理,最后作者认为该系统功能较鸡肋。

部署scrapy爬虫的后台服务,提供了基于JSON的Webservice API管理

安装
pip install scrapyd  # 服务端
pip install scrapyd-client  # 客户端(提供scrapyd-deploy套件)
启动

scrapyd启动后会创建如下文件等

  • 服务配置 /etc/scrapyd/scrapyd.conf
  • 日志 /var/log/scrapyd/scrapyd.log
  • 标准输出 /var/log/scrapyd/scrapyd.out
  • 标准错误 /var/log/scrapyd/scrapyd.err
  • 数据文件(eggs、队列等)/var/lib/scrapyd/
爬虫部署
  • 编辑 scrapy.cfg 配置部署节点(忽略指定部署节点则成为默认部署配置)
		[deploy:部署节点]
		url = http://部署地址.com/api/scrapyd
		username = 账号
		password = 密码
		project = 项目
		version = GIT
  • 检查部署节点
    • 检查当前部署节点列表:scrapyd-deploy -l
    • 检查指定节点已部署的爬虫:scrapyd-deploy -L 部署节点
  • 发布爬虫 scrapyd-deploy [部署节点|-a -p 项目]
API管理爬虫
curl http://localhost:6800/daemonstatus.json  #服务状态

curl http://部署地址.com:6800/schedule.json -d project=项目 -d spider=爬虫 [-d setting=xxx -d jobid=xxx]  #启动爬虫
curl http://部署地址.com:6800/cancel.json -d project=项目 -d job=xxx  #取消爬虫

curl http://部署地址.com:6800/listprojects.json  #罗列项目
curl http://部署地址.com:6800/listspiders.json?project=myproject  #罗列指定项目的爬虫
curl http://部署地址.com:6800/delproject.json -d project=myproject  #删除项目
WEB监控管理

监控地址:http://部署地址.com:6800/

结语

个人感觉此系统功能比较鸡肋

转载于:https://my.oschina.net/u/2400083/blog/893680

Scrapyd是一个基于Twisted的Python爬虫部署工具,它可以帮助我们方便地管理和部署自己编写的爬虫程序。 以下是使用Scrapyd部署爬虫的步骤: 1. 安装Scrapyd 可以使用pip命令安装Scrapyd: ``` pip install scrapyd ``` 2. 创建Scrapy项目 在命令行窗口中输入以下命令,创建Scrapy项目: ``` scrapy startproject myproject ``` 其中myproject是项目名称。 3. 创建爬虫程序 在myproject/spiders目录下创建一个爬虫程序,例如: ```python import scrapy class MySpider(scrapy.Spider): name = 'myspider' allowed_domains = ['example.com'] start_urls = ['http://www.example.com'] def parse(self, response): # 爬虫解析方法 pass ``` 这里创建了一个名为myspider的爬虫程序,它从http://www.example.com开始爬取数据。 4. 配置Scrapy项目 修改myproject/settings.py文件,添加如下配置: ```python BOT_NAME = 'myproject' SPIDER_MODULES = ['myproject.spiders'] NEWSPIDER_MODULE = 'myproject.spiders' ITEM_PIPELINES = { 'scrapy.pipelines.images.ImagesPipeline': 1 } IMAGES_STORE = 'images' ``` 这里添加了一个名为ImagesPipeline的管道,用于下载图片,并将图片保存到images目录下。 5. 打包Scrapy项目 在命令行窗口中进入Scrapy项目的根目录,使用以下命令打包Scrapy项目: ``` python setup.py sdist ``` 这时会在Scrapy项目的根目录下生成一个dist目录,其中包含了一个压缩包,例如myproject-0.1.tar.gz。 6. 部署Scrapy项目 在命令行窗口中进入Scrapy项目的根目录,使用以下命令将Scrapy项目部署Scrapyd服务器上: ``` scrapyd-deploy <target> -p <project> --version <version> ``` 其中,: - `<target>`是Scrapyd服务器的名称,例如default; - `<project>`是Scrapy项目的名称,例如myproject; - `<version>`是Scrapy项目的版本号,例如0.1。 执行此命令后,Scrapyd会自动将Scrapy项目部署Scrapyd服务器上,并生成一个新的项目版本。 7. 启动ScrapydScrapyd服务器上启动Scrapyd服务: ``` scrapyd ``` 这时可以在浏览器中访问http://localhost:6800/,查看Scrapyd服务是否正常运行。 8. 运行爬虫 使用以下命令在Scrapyd服务器上运行爬虫程序: ``` curl http://localhost:6800/schedule.json -d project=myproject -d spider=myspider ``` 其中,myproject和myspider分别为你的项目名称和爬虫程序名称。 运行此命令后,Scrapyd会在Scrapyd服务器上启动myspider爬虫程序,并开始爬取数据。在浏览器中访问http://localhost:6800/jobs,可以查看爬虫程序的运行状态。 至此,使用Scrapyd部署爬虫的步骤已经完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值