我已经使用Scrapy很长一段时间了,我必须说我爱上了它。最近,我了解了Scrapy Web Service。但我无法弄清楚它是如何工作的。或者我如何使用它来监控我当前的蜘蛛。
寻找文档或入门指南。
答案 0 :(得分:4)
所以,that document you've linked是最接近导游的东西。它没有多少手持,但应该足以让你前进 - 它甚至带有an example client script。
简而言之,the web service is enabled by default,它使用JSON RPC协议回复HTTP请求进行远程调用。
您可以在Scrapy项目中启动scrapy shell
后尝试将浏览器指向:http://localhost:6080。您应该会看到一个显示可用资源的页面:
{"resources": ["enginestatus", "stats", "crawler"]}
从这一点开始,您将提前了解JSON RPC Version 2,以构建正确的调用 - 这是使用requests
的示例:
>>> import requests, json
>>> jsonrpc_call = {'jsonrpc': '2.0', 'method': 'list', 'params': [], 'id': 1}
>>> resource = 'http://localhost:6080/crawler/spiders'
>>> requests.post(resource, data=json.dumps(jsonrpc_call)).json()
{u'id': 1, u'jsonrpc': u'2.0', u'result': [u'spider1', u'spider2']}
重要信息:您应该知道此ScSON已从下一版本中提取出此JSON RPC服务,现在它作为一个单独的项目生效:https://github.com/scrapy/scrapy-jsonrpc。因此,在升级到Scrapy 1.0时要做好准备。 ;)