Springheel Jacky
This is a simple Python library and command-line tool to work with Springheel sites without scraping. When generating a site, Springheel creates a JSON endpoints file; parsing this file allows programs to request resources from the site easily, without mucking around in the HTML. It's not quite an API, but for a static site, it's close enough.
springheel_jacky is compatible with Springheel sites generated with version 7.0.2 or greater.
Dependencies
Usage examples
Get links to all pages in a chapter:
$ springheel_jacky https://www.twinkle-night.net/brutus chap_links --category Brutus --chapter 1
Site generated with Springheel 7.0.2.
https://www.twinkle-night.net/brutus/brutus_0001.html
https://www.twinkle-night.net/brutus/brutus_0002.html
https://www.twinkle-night.net/brutus/brutus_0003.html
...
>>> import springheel_jacky
>>> json_endpoints = springheel_jacky.internet.retrieveJson("https://www.twinkle-night.net/brutus")
>>> links.getChapPermalinks(json_endpoints, "Brutus", "1")
['https://www.twinkle-night.net/brutus/brutus_0001.html', 'https://www.twinkle-night.net/brutus/brutus_0002.html', 'https://www.twinkle-night.net/brutus/brutus_0003.html', ...]
Search for comic dialogue:
$ springheel_jacky https://www.twinkle-night.net/brutus search --query "hot dogs"
Site generated with Springheel 7.0.2.
2 results
URL: https://www.twinkle-night.net/brutus/brutus_0033.html
Matches: "There will be hot dogs."
---
URL: https://www.twinkle-night.net/brutus/brutus_0047.html
Matches: "There will be hot dogs.", "I...I never ate any hot dogs..."
---
>>> springheel_jacky.search.searchDialogue(json_endpoints, "hot dogs")
[{'url': 'https://www.twinkle-night.net/brutus/brutus_0033.html', 'matching': ['There will be hot dogs.']}, {'url': 'https://www.twinkle-night.net/brutus/brutus_0047.html', 'matching': ['There will be hot dogs.', 'I...I never ate any hot dogs...']}]
Metadata
Release files for springheel-jacky 1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| springheel_jacky-1.0.tar.gz | 288.9 kB | Without provenance | Details for springheel_jacky-1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| springheel_jacky-1.0-py3-none-any.whl | Python 3 | none | any | Details for springheel_jacky-1.0-py3-none-any.whl |
Total release size: 327.9 kB
Release files / springheel_jacky-1.0.tar.gz
| Download URL | springheel_jacky-1.0.tar.gz |
|---|---|
| Size | 288.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6faf2a1591a529d5d5161e8ad7e65565d346390c3144a68ebba32d8dd8f8d4ca
|
|
BLAKE2b-256 checksum How to use checksums |
1dbf8ba5b7d5bdfbd4701ad4cdd8f3c7cbade589e1391199f35dec7ac3a1d663
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.5
|
Release files / springheel_jacky-1.0-py3-none-any.whl
| Download URL | springheel_jacky-1.0-py3-none-any.whl |
|---|---|
| Size | 39.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a758867ce09a7937da6f954d09ff45a2aa8093daa5f122ab2da60e06cd1581bf
|
|
BLAKE2b-256 checksum How to use checksums |
21239f476945bfd4dfdef8f38c3ab4042e07a912611af5d00c955e035a09ee63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.5
|
Security for springheel-jacky 1.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.