安装好了Scrapyd之后,我们可以直接请求它提供的API来获取当前主机的Scrapy任务运行状况。比如,某台主机的IP为192.168.1.1,则可以直接运行如下命令获取当前主机的所有Scrapy项目:

curl http://localhost:6800/listprojects.json

  

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

运行结果如下:

1 {"status": "ok", "projects": ["myproject", "otherproject"]}

 

返回结果是JSON字符串,通过解析这个字符串,便可以得到当前主机的所有项目。

但是用这种方式来获取任务状态还是有点烦琐,所以Scrapyd API就为它做了一层封装,下面我们来看下它的安装方式。

  1.安装

pip install python-scrapyd-api

  2. 验证安装

安装完成之后,便可以使用Python来获取主机状态了,所以上面的操作便可以用Python代码实现:

 
1 2 3 from scrapyd_api import ScrapydAPI scrapyd = ScrapydAPI('http://localhost:6800') print(scrapyd.list_projects())

运行结果如下:

 
1 ["myproject", "otherproject"]

 

这样我们便可以用Python直接来获取各个主机上Scrapy任务的运行状态了。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄