octocrawl-client (Python)
Python client for the Octocrawl API: web pages as Markdown, tables and JSON, each page with its Evidence Record (final URL, fetch time, HTTP status, robots.txt decision, hashes of what was read and delivered), into pandas.
pip install 'octocrawl-client[pandas]'
npx octocrawl serve # a local Octocrawl API on http://127.0.0.1:8787
import octocrawl_client
result = octocrawl_client.batch(
["https://books.toscrape.com/", "https://quotes.toscrape.com/"],
formats=["markdown", "tables"],
)
df = result.to_pandas() # one row per page
df[["url", "status", "fetched_at", "http_status", "raw_sha256"]]
result.report["succeeded"], result.report["failed"]
to_pandas() has one row per page, failed pages included, with these columns: url, status, reason, final_url, fetched_at, http_status, lane, robots_decision, raw_sha256, markdown_sha256, extractor, source_commit, cache_state, cached_at and markdown. A value Octocrawl did not observe is missing (None, or <NA> for http_status), never 0. result.items keeps each page as the API answered it, its tables (formats=["tables"]) and full evidenceRecord included.
Options take the API's names in snake_case or camelCase: max_age=3_600_000, only_main_content=False, include_tags=["main"], parsers=[{"type": "pdf", "maxPages": 5}]. W2L(base_url=..., token=...) names another API (default W2L_API_URL, else http://127.0.0.1:8787; W2L_API_TOKEN). A batch takes up to 1,000 URLs; octocrawl_client.scrape, octocrawl_client.map and octocrawl_client.crawl work the same way. (The name octocrawl on PyPI belongs to another project.)
Licence: MIT. Source and the API reference: https://github.com/77777R7/Octocrawl
Metadata
Release files for octocrawl-client 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| octocrawl_client-0.3.1.tar.gz | 9.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| octocrawl_client-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.5 kB
Release files / octocrawl_client-0.3.1.tar.gz
| Download URL | octocrawl_client-0.3.1.tar.gz |
|---|---|
| Size | 9.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4e743dceb184411aa7a7714f53ad7cbee35efb81dcd7020602833a7aea53a920
|
|
BLAKE2b-256 checksum How to use checksums |
427c09803bfbf0294dc2760e6e8d8920a1e4ec15969e2a8c8ae9637e93104cac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency logRelease files / octocrawl_client-0.3.1-py3-none-any.whl
| Download URL | octocrawl_client-0.3.1-py3-none-any.whl |
|---|---|
| Size | 8.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7c715efb1e4a20d2e631928575f399dceb30ab5bfac444f9beeb951f1d549999
|
|
BLAKE2b-256 checksum How to use checksums |
69e2a8735615dcf6dfc7b9d70540bfec2c6dd6f23539efaba8577fa653cd9db8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency log