Scrapy中间件,用于忽略之前爬取的页面
项目描述
这是一个Scrapy蜘蛛中间件,用于忽略对之前爬取的页面的请求,从而产生只包含新请求的“增量爬取”。
这还可以通过减少需要爬取和处理的请求数量来加快爬取速度(通常,项目请求是最耗CPU的)。
DeltaFetch 中间件使用 Python 的 dbm 包来存储请求指纹。
安装
使用 pip 安装 scrapy-deltafetch
$ pip install scrapy-deltafetch
配置
通过在 settings.py 文件中的 SPIDER_MIDDLEWARES 中包含它来添加 DeltaFetch 中间件
SPIDER_MIDDLEWARES = { 'scrapy_deltafetch.DeltaFetch': 100, }
在这里,优先级 100 仅是一个示例。根据您可能已启用的其他中间件设置其值。
使用 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 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 13f7968bd0ffae133e2a1dede215e683b8c95285f046260603a5c3e25f2d57b0 |
|
MD5 | a936a4b22066f6b09962543b84bdb190 |
|
BLAKE2b-256 | 4c1654e6d83d28a96e992e807961417c85b59577eee1327aad7da810c250f584 |
关闭
scrapy_deltafetch-2.0.1-py2.py3-none-any.whl 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 1da535fc801345fd6295a64f20189debe01d0f856a8f4c3c0c2c1d6d1259dcab |
|
MD5 | 7e6c2c9a35587488bfe57decbe175834 |
|
BLAKE2b-256 | 7e2d9817695c70fa1b216ff038278080afebb51868a60d87459c937a8db52c40 |