├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ └── test.yml ├── .gitignore ├── .pre-commit-config.yaml ├── Justfile ├── LICENSE ├── README.md ├── docs ├── advanced-techniques.md ├── anatomy-of-a-scrape.md ├── assets │ ├── extra.css │ └── white-spatula.svg ├── changelog.md ├── cli.md ├── code_of_conduct.md ├── contributing.md ├── data-models.md ├── index.md ├── philosophy.md ├── reference.md └── scraper-basics.md ├── mkdocs.yml ├── pyproject.toml ├── src └── spatula │ ├── __init__.py │ ├── cli.py │ ├── config.py │ ├── pages.py │ ├── py.typed │ ├── selectors.py │ ├── sources.py │ └── utils.py ├── tests ├── __init__.py ├── examples.py ├── test_cli.py ├── test_page_base.py ├── test_pages.py ├── test_selectors.py ├── test_sources.py └── test_utils.py └── trifold.toml /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [jamesturk] 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /Justfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/Justfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/README.md -------------------------------------------------------------------------------- /docs/advanced-techniques.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/docs/advanced-techniques.md -------------------------------------------------------------------------------- /docs/anatomy-of-a-scrape.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/docs/anatomy-of-a-scrape.md -------------------------------------------------------------------------------- /docs/assets/extra.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/docs/assets/extra.css -------------------------------------------------------------------------------- /docs/assets/white-spatula.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/docs/assets/white-spatula.svg -------------------------------------------------------------------------------- /docs/changelog.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/docs/changelog.md -------------------------------------------------------------------------------- /docs/cli.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/docs/cli.md -------------------------------------------------------------------------------- /docs/code_of_conduct.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/docs/code_of_conduct.md -------------------------------------------------------------------------------- /docs/contributing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/docs/contributing.md -------------------------------------------------------------------------------- /docs/data-models.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/docs/data-models.md -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/philosophy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/docs/philosophy.md -------------------------------------------------------------------------------- /docs/reference.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/docs/reference.md -------------------------------------------------------------------------------- /docs/scraper-basics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/docs/scraper-basics.md -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/mkdocs.yml -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/pyproject.toml -------------------------------------------------------------------------------- /src/spatula/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/src/spatula/__init__.py -------------------------------------------------------------------------------- /src/spatula/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/src/spatula/cli.py -------------------------------------------------------------------------------- /src/spatula/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/src/spatula/config.py -------------------------------------------------------------------------------- /src/spatula/pages.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/src/spatula/pages.py -------------------------------------------------------------------------------- /src/spatula/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/spatula/selectors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/src/spatula/selectors.py -------------------------------------------------------------------------------- /src/spatula/sources.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/src/spatula/sources.py -------------------------------------------------------------------------------- /src/spatula/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/src/spatula/utils.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/examples.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/tests/examples.py -------------------------------------------------------------------------------- /tests/test_cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/tests/test_cli.py -------------------------------------------------------------------------------- /tests/test_page_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/tests/test_page_base.py -------------------------------------------------------------------------------- /tests/test_pages.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/tests/test_pages.py -------------------------------------------------------------------------------- /tests/test_selectors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/tests/test_selectors.py -------------------------------------------------------------------------------- /tests/test_sources.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/tests/test_sources.py -------------------------------------------------------------------------------- /tests/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/tests/test_utils.py -------------------------------------------------------------------------------- /trifold.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesturk/spatula/HEAD/trifold.toml --------------------------------------------------------------------------------