刮花蜘蛛的api
ArachneServer的Python项目详细描述
arachneserver
[![生成状态](https://travis-ci.org/dmkitui/arachneserver.svg?branch=master)](https://travis-ci.org/dmkitui/arachneserver) [![覆盖状态](https://coveralls.io/repos/github/dmkitui/arachneserver/badge.svg?branch=master)](https://coveralls.io/github/dmkitui/arachneserver?分支=主) [![可维护性](https://api.codeclimate.com/v1/badges/637b135299638812096d/maintainability)](https://codeclimate.com/github/dmkitui/arachneserver/maintainability)
arachneserver为您的scrapySpider对象提供了一个包装器,以便通过flask应用程序运行它们。您只需在设置文件中自定义SPIDER_SETTINGS。
安装
您可以从pip安装arachneserver
pip install ArachneServer
示例设置
这是项目中蜘蛛的示例设置文件。设置文件应该在项目根目录中名为settings.py,用于arachneserver查找并如下所示:
# settings.py file SPIDER_SETTINGS = [ { 'endpoint': 'dmoz', 'location': 'spiders.DmozSpider', 'endpoints_location: 'spiders.DmozSpider_endpoints' 'spider': 'DmozSpider' } ]
用法
它看起来非常类似于flask应用程序,但是由于scrapy依赖于python twisted包,因此我们需要使用twisted运行flask应用程序
from twisted.web.wsgi import WSGIResource from twisted.web.server import Site from twisted.internet import reactor from arachneserver import ArachneServer app = ArachneServer(__name__) resource = WSGIResource(reactor, reactor.getThreadPool(), app) site = Site(resource) reactor.listenTCP(8080, site) if __name__ == '__main__': reactor.run()
端点
- 为每个蜘蛛提供两个默认端点:
- '/'-列出所有蜘蛛。
- '/run spider/<;spider_name>;'-运行指定的蜘蛛。
为每个spider指定其他端点,并更新相应的spider_设置字典的endpoints_location以指向端点文件的正确路径。