跳转到主要内容

一个下载中间件,用于存储当前请求链,以便在另一时间进行爬取。

项目描述

scrapy-time-machine

PyPI PyPI - Python Version GitHub Workflow Status

使用之前爬取的请求链运行您的蜘蛛。

安装

pip install scrapy-time-machine

为什么?

假设您的蜘蛛每天爬取一些页面,一段时间后您发现添加了重要信息,您想开始保存这些信息。

您可能需要修改蜘蛛并从现在开始提取这些信息,但如果您想获取数据的初始值,即首次在网站上引入时,该怎么办呢?

使用此扩展,您可以在每次运行时保存网站的快照,以供将来使用(只要您不更改请求链)。

启用

要启用此中间件,请将以下信息添加到项目的 settings.py

DOWNLOADER_MIDDLEWARES = {
    "scrapy_time_machine.timemachine.TimeMachineMiddleware": 901
}

TIME_MACHINE_ENABLED = True
TIME_MACHINE_STORAGE = "scrapy_time_machine.storages.DbmTimeMachineStorage"

使用

保存网站的当前状态快照

scrapy crawl sample -s TIME_MACHINE_SNAPSHOT=true -s TIME_MACHINE_URI="/tmp/%(name)s-%(time)s.db"

这将保存到 /tmp/sample-YYYY-MM-DDThh-mm-ss.db

从以前保存的网站状态中检索快照

scrapy crawl sample -s TIME_MACHINE_RETRIEVE=true -s TIME_MACHINE_URI=/tmp/sample-YYYY-MM-DDThh-mm-ss.db

如果蜘蛛在当前版本和生成快照的版本之间没有进行任何更改,提取的项目应该是相同的。

示例项目

examples 目录中提供了一个示例 Scrapy 项目。

项目详情


下载文件

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

源分发

scrapy-time-machine-1.1.1.tar.gz (6.0 kB 查看哈希值)

上传时间

构建分发

scrapy_time_machine-1.1.1-py3-none-any.whl (6.7 kB 查看哈希值)

上传时间 Python 3

由以下支持