A downloader middleware that stores the current request chain to be crawled at another time.
Project description
scrapy-time-machine
Run your spider with a previously crawled request chain.
Install
pip install scrapy-time-machine
Why?
Lets say your spider crawls some page everyday and after some time you notice that an important information was added and you want to start saving it.
You may modify your spider and extract this information from now on, but what if you want the historical value of this data, since it was first introduced to the site?
With this extension you can save a snapshot of the site at every run to be used in the future (as long as you don't change the request chain).
Enabling
To enable this middlware, add this information to your projects's settings.py
:
DOWNLOADER_MIDDLEWARES = {
"scrapy_time_machine.timemachine.TimeMachineMiddleware": 901
}
TIME_MACHINE_ENABLED = True
TIME_MACHINE_STORAGE = "scrapy_time_machine.storages.DbmTimeMachineStorage"
Using
Store a snapshot of the current state of the site
scrapy crawl sample -s TIME_MACHINE_SNAPSHOT=true -s TIME_MACHINE_URI="/tmp/%(name)s-%(time)s.db"
This will save a snapshot at /tmp/sample-YYYY-MM-DDThh-mm-ss.db
Retrieve a snapshot from a previously saved state of the site
scrapy crawl sample -s TIME_MACHINE_RETRIEVE=true -s TIME_MACHINE_URI=/tmp/sample-YYYY-MM-DDThh-mm-ss.db
If no change was made to the spider between the current version and the version that produced the snapshot, the extracted items should be the same.
Sample project
There is a sample Scrapy project available at the examples directory.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file scrapy-time-machine-1.1.1.tar.gz
.
File metadata
- Download URL: scrapy-time-machine-1.1.1.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72aabb16986c74abff8635a166e18f80f544f9fc0966b9e858ecc7afc8acfe4e |
|
MD5 | eddc8a7f3fa5fe6b1ce6028414658944 |
|
BLAKE2b-256 | 7355fec84d80b58cc35bf9ec17fe9bca83eeda7093fe4fce35c5f3967873573c |
Provenance
File details
Details for the file scrapy_time_machine-1.1.1-py3-none-any.whl
.
File metadata
- Download URL: scrapy_time_machine-1.1.1-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 199eea5eca5133e1978686689cb86b23a548a37feadca1bd1ccbbb861306c7bc |
|
MD5 | 57ee05ec6cc8e64d1b1af6f4b32b1048 |
|
BLAKE2b-256 | 931fcb2a210198495652aef03257d560c4d6ced6dd894d2447c5e4190415b44f |