Skip to main content

Page Object pattern for Scrapy

Project description

PyPI Version Supported Python Versions Build Status Coverage report Documentation Status

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.

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,
}
SPIDER_MIDDLEWARES = {
    "scrapy_poet.RetryMiddleware": 275,
}
REQUEST_FINGERPRINTER_CLASS = "scrapy_poet.ScrapyPoetRequestFingerprinter"

Developing

Setup your local Python environment via:

  1. pip install -r requirements-dev.txt

  2. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scrapy-poet-0.20.1.tar.gz (56.0 kB view details)

Uploaded Source

Built Distribution

scrapy_poet-0.20.1-py3-none-any.whl (28.8 kB view details)

Uploaded Python 3

File details

Details for the file scrapy-poet-0.20.1.tar.gz.

File metadata

  • Download URL: scrapy-poet-0.20.1.tar.gz
  • Upload date:
  • Size: 56.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for scrapy-poet-0.20.1.tar.gz
Algorithm Hash digest
SHA256 32f7108275cbc6af05cef3727008a33f443e05ec844f55125df22b570e60c94e
MD5 5848c674a6d8eba6715f38eb19f205e1
BLAKE2b-256 f7e2452dfd96b989016b464748f300177a6a27ae61cef7681f5e1802bb222730

See more details on using hashes here.

Provenance

File details

Details for the file scrapy_poet-0.20.1-py3-none-any.whl.

File metadata

  • Download URL: scrapy_poet-0.20.1-py3-none-any.whl
  • Upload date:
  • Size: 28.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for scrapy_poet-0.20.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d6be8df10a7fb82c20f2333a4bf3ef61bddeb8dacaa55e1bead56641216f4b9d
MD5 8e138fa5604fc3ce4f251b5c51b14cf2
BLAKE2b-256 576c890666c63632c04ae8777cf2cf44acfc97a6ce17087a882a23ebb01ec2f0

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page