跳转到主要内容

Scrapy Middleware用于根据计数器限制请求数量。

项目描述

Scrapy-count-filter

Python ver Build Status Code coverage Code style: black

两个下载中间件,允许Scrapy爬虫在抓取一定数量的页面或项目后停止请求。在CloseSpider扩展中也有类似的功能,该扩展在抓取一定数量的页面、项目或错误后停止爬虫,但此中间件允许为每个域名定义计数器,并将它们作为爬虫参数而不是项目设置来定义。

安装

本项目需要Python 3.6+和pip。强烈推荐使用虚拟环境

$ pip install scrapy-count-filter

用法

为了启用中间件,必须在项目的settings.py中添加它们。

DOWNLOADER_MIDDLEWARES = {
    # maybe other Downloader Middlewares ...
    # it's suggested to have the Count Filters after all the default middlewares
    'scrapy_count_filter.middleware.GlobalCountFilterMiddleware': 995,
    'scrapy_count_filter.middleware.HostsCountFilterMiddleware': 996,
}

您可以使用一个、两个或两个中间件。

计数器限制必须在爬虫实例中定义,在spider.count_limits字典中。

可能字段包括

  • page_countitem_count - 由GlobalCountFilterMiddleware使用,如果请求或抓取的项目数量大于提供的值,将停止爬虫
  • page_host_countitem_host_count - 由 HostsCountFilterMiddleware 使用,如果单个主机上的请求数量或抓取项目数量超过提供的值,则会开始忽略请求

所有字段值必须是整数。

请注意,当任何计数器溢出时,爬虫会停止。

请求数量和抓取项目数量活跃的示例

from scrapy.spiders import Spider

class MySpider(Spider):
    count_limits = {"page_count": 99, "item_count": 10}

许可证

BSD3 © Cristi Constantin.

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

scrapy-count-filter-0.2.0.tar.gz (5.4 kB 查看哈希值)

上传时间 源代码

构建分布

scrapy_count_filter-0.2.0-py3-none-any.whl (6.2 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面