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

Uploaded Source

Built Distribution

scrapy_poet-0.20.0-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: scrapy-poet-0.20.0.tar.gz
  • Upload date:
  • Size: 55.7 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.0.tar.gz
Algorithm Hash digest
SHA256 2cafe74f6cc49ee6faf57114ccdef698a9988ccfcf1d7e080cc19264ef29a261
MD5 93e817566a77952840cb8c216b069c90
BLAKE2b-256 5f9a67f0158808a92cadb5c39b22e85d35533119a31b8afdb1d685d7cc74e196

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scrapy_poet-0.20.0-py3-none-any.whl
  • Upload date:
  • Size: 28.7 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6653c8a49ccbe1144dc8776001947d67b881b79bd5e789f5a3ff1897f40475e1
MD5 84fe226741413ba251990d523f49a1a9
BLAKE2b-256 663f0a761a458bce87027dd71ea0019bb306f43de6ab40487d92838ece7ce1d1

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