A modern Python library for writing maintainable web scrapers.
https://jamesturk.github.io/spatula/
- Python 99.7%
- Just 0.3%
|
jpt
c3e6d4c600
Some checks failed
Test & Lint / build (3.10) (push) Has been cancelled
Test & Lint / build (3.11) (push) Has been cancelled
Test & Lint / build (3.12) (push) Has been cancelled
Test & Lint / build (3.8) (push) Has been cancelled
Test & Lint / build (3.9) (push) Has been cancelled
|
||
|---|---|---|
| .github | ruff | |
| docs | move documentation | |
| src/spatula | promoting to 1.0.0 | |
| tests | fix tests for abc versions of Page and Source | |
| .gitignore | promoting to 1.0.0 | |
| .pre-commit-config.yaml | fix tests for abc versions of Page and Source | |
| Justfile | move documentation | |
| LICENSE | Initial commit | |
| mkdocs.yml | move documentation | |
| pyproject.toml | move documentation | |
| README.md | move documentation | |
| trifold.toml | move documentation | |
Overview
spatula is a modern Python library for writing maintainable web scrapers.
Please note, the official repository has changed to Codeberg; GitHub will only be used as a mirror.
Source: https://codeberg.org/jpt/spatula/
Documentation: https://jpt.sh/projects/spatula/
Issues: https://codeberg.org/jpt/spatula/issues
Features
- Page-oriented design: Encourages writing understandable & maintainable scrapers.
- Not Just HTML: Provides built in handlers for common data formats including CSV, JSON, XML, PDF, and Excel. Or write your own.
- Fast HTML parsing: Uses
lxml.htmlfor fast, consistent, and reliable parsing of HTML. - Flexible Data Model Support: Compatible with
dataclasses,attrs,pydantic, or bring your own data model classes for storing & validating your scraped data. - CLI Tools: Offers several CLI utilities that can help streamline development & testing cycle.
- Fully Typed: Makes full use of Python 3 type annotations.