刮花蜘蛛的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()

端点

为每个蜘蛛提供两个默认端点:
  1. '/'-列出所有蜘蛛。
  2. '/run spider/<;spider_name>;'-运行指定的蜘蛛。

为每个spider指定其他端点,并更新相应的spider_设置字典的endpoints_location以指向端点文件的正确路径。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何反射地迭代数组字段?   java NamedQuery错误“具有给定标识符的多行:1”   java无法使用单独类中的计时器更新TextView   兼容性什么时候可以很快使用新的Java功能?   java二叉树路径和   java矩形的性能   java我想从同一个子表在主表中添加两个外键   java如何获取基于特定日期的所有数据?   java javafx、OO编程规则和写入变量类型的选择   java使用带枚举的switch语句   java异步任务生成运行时异常   java为什么JLabel不显示下划线字符?   java如何解析具有可变参数号的函数?   带有按钮的java JavaFX自定义列表单元格:未调用处理程序   java Modelmapper无法映射整个模型?   传递给持久化的java分离实体,包含LatLng列表