Page Object pattern for Scrapy
Project description
scrapy-poet is the web-poet Page Object pattern implementation for Scrapy. scrapy-poet allows to write spiders where extraction logic is separated from the crawling one. With scrapy-poet is possible to make a single spider that supports many sites with different layouts.
Read the documentation for more information.
License is BSD 3-clause.
Documentation: https://scrapy-poet.readthedocs.io
Source code: https://github.com/scrapinghub/scrapy-poet
Issue tracker: https://github.com/scrapinghub/scrapy-poet/issues
Quick Start
Installation
pip install scrapy-poet
Requires Python 3.8+ and Scrapy >= 2.6.0.
Usage in a Scrapy Project
Add the following inside Scrapy’s settings.py file:
DOWNLOADER_MIDDLEWARES = {
"scrapy_poet.InjectionMiddleware": 543,
"scrapy.downloadermiddlewares.stats.DownloaderStats": None,
"scrapy_poet.DownloaderStatsMiddleware": 850,
}
SPIDER_MIDDLEWARES = {
"scrapy_poet.RetryMiddleware": 275,
}
REQUEST_FINGERPRINTER_CLASS = "scrapy_poet.ScrapyPoetRequestFingerprinter"
Developing
Setup your local Python environment via:
pip install -r requirements-dev.txt
pre-commit install
Now everytime you perform a git commit, these tools will run against the staged files:
black
isort
flake8
You can also directly invoke pre-commit run –all-files or tox -e linters to run them without performing a commit.
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_poet-0.22.2.tar.gz
.
File metadata
- Download URL: scrapy_poet-0.22.2.tar.gz
- Upload date:
- Size: 57.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28d437f49e3cf16332e255d00ce2089140737675cb731e0500a0e21e922fb1c1 |
|
MD5 | 5ee0b10f4c6d8ca04dfa0ad4c15d89b4 |
|
BLAKE2b-256 | c2718852e5d578f87722749b83ab87decb397affa6f29e76d6963dea873087d3 |
Provenance
File details
Details for the file scrapy_poet-0.22.2-py3-none-any.whl
.
File metadata
- Download URL: scrapy_poet-0.22.2-py3-none-any.whl
- Upload date:
- Size: 29.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aec07ae246fc0b971434bf071cf53f5b3bd6fb65c16e8a7824a3b8663f5bd253 |
|
MD5 | f2cd8533db61108fd875de8b667990a4 |
|
BLAKE2b-256 | 2a9fefc8092d2e397d956c897840b4be7aefcb79129492718f19f253f4fc0136 |