跳转到主要内容

Scrapy中间件,用于忽略之前爬取的页面

项目描述

https://github.com/scrapy-plugins/scrapy-deltafetch/workflows/CI/badge.svg https://img.shields.io/pypi/pyversions/scrapy-deltafetch.svg https://img.shields.io/pypi/v/scrapy-deltafetch.svg https://img.shields.io/pypi/l/scrapy-deltafetch.svg Downloads count

这是一个Scrapy蜘蛛中间件,用于忽略对之前爬取的页面的请求,从而产生只包含新请求的“增量爬取”。

这还可以通过减少需要爬取和处理的请求数量来加快爬取速度(通常,项目请求是最耗CPU的)。

DeltaFetch 中间件使用 Python 的 dbm 包来存储请求指纹。

安装

使用 pip 安装 scrapy-deltafetch

$ pip install scrapy-deltafetch

配置

  1. 通过在 settings.py 文件中的 SPIDER_MIDDLEWARES 中包含它来添加 DeltaFetch 中间件

    SPIDER_MIDDLEWARES = {
        'scrapy_deltafetch.DeltaFetch': 100,
    }

    在这里,优先级 100 仅是一个示例。根据您可能已启用的其他中间件设置其值。

  2. 使用 settings.py 中的 DELTAFETCH_ENABLED 启用此中间件

    DELTAFETCH_ENABLED = True

使用方法

以下是控制 DeltaFetch 中间件行为的不同选项。

支持的 Scrapy 设置

  • DELTAFETCH_ENABLED — 启用(或禁用)此扩展

  • DELTAFETCH_DIR — 存储状态的目录

  • DELTAFETCH_RESET — 重置状态,清除所有已看到的请求

这些通常位于 Scrapy 项目的 settings.py 中。

支持的 Scrapy 爬虫参数

  • deltafetch_reset — 与 DELTAFETCH_RESET 设置具有相同的效果

示例

$ scrapy crawl example -a deltafetch_reset=1

支持的 Scrapy 请求元数据键

  • deltafetch_key — 用于定义该请求的查找键。默认情况下,它是 Scrapy 的默认请求指纹函数,但可以更改为包含项目 ID 等。这需要爬虫的支持,但使得扩展对具有许多相同项目 URL 的网站更加高效。

  • deltafetch_enabled - 如果设置为 False,则将禁用某些特定请求的 deltafetch

项目详情


下载文件

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

源分布

scrapy-deltafetch-2.0.1.tar.gz (3.5 kB 查看散列)

上传时间

构建分布

scrapy_deltafetch-2.0.1-py2.py3-none-any.whl (4.0 kB 查看散列)

上传时间 Python 2 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面