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

Uploaded Source

Built Distribution

scrapy_poet-0.24.0-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: scrapy_poet-0.24.0.tar.gz
  • Upload date:
  • Size: 59.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for scrapy_poet-0.24.0.tar.gz
Algorithm Hash digest
SHA256 4b5aed8930731691ab464683d9d656381bae236ae72870add2398a1aca394a41
MD5 8365c0ef1f0ecb5fe49846f85fcaed50
BLAKE2b-256 241a58dd5e35cf97ec1bc6902461aa3dab05011d713a9774c3c0f15d2837369d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scrapy_poet-0.24.0-py3-none-any.whl
  • Upload date:
  • Size: 30.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for scrapy_poet-0.24.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b1977d46fcf3e0cc5b3474b696d45cf2d122363a3b8c4aea1a3ec345e81e7ad0
MD5 e4376c1173d3bcda5fdda7acdca14e18
BLAKE2b-256 908c13b67da14ddd79bd0c4ef3d3a008cd815e0e03f2cfc831d925660b1301f8

See more details on using hashes here.

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