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,
    "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:

  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.22.4.tar.gz (57.8 kB view details)

Uploaded Source

Built Distribution

scrapy_poet-0.22.4-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

Details for the file scrapy_poet-0.22.4.tar.gz.

File metadata

  • Download URL: scrapy_poet-0.22.4.tar.gz
  • Upload date:
  • Size: 57.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for scrapy_poet-0.22.4.tar.gz
Algorithm Hash digest
SHA256 342e89f0469cb6e0320dcd74baf90c2b7520044e6d517ccbc1b065a5087002e0
MD5 655c2b924c1d857675351d2fb711bd78
BLAKE2b-256 4a404bae0c0e74b81cf2a364cc90b3457bdcfce4446f68c23b0f23f543991e55

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: scrapy_poet-0.22.4-py3-none-any.whl
  • Upload date:
  • Size: 29.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for scrapy_poet-0.22.4-py3-none-any.whl
Algorithm Hash digest
SHA256 40d111d2e4f8860ab965ddea66e96faf3396675a287bceb893120bf1d6ee0ead
MD5 d8ae4d3a85fc1b7678d3bdd77edd2849
BLAKE2b-256 7fc55c41d746e71336a9efc3abb437ec75d6c3c430d6e0bdbb147e5428cfa194

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