Skip to main content

Library and command-line interface for Springheel sites

Project description

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...']}]

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

springheel_jacky-1.0.tar.gz (288.9 kB view details)

Uploaded Source

Built Distribution

springheel_jacky-1.0-py3-none-any.whl (39.0 kB view details)

Uploaded Python 3

File details

Details for the file springheel_jacky-1.0.tar.gz.

File metadata

  • Download URL: springheel_jacky-1.0.tar.gz
  • Upload date:
  • Size: 288.9 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for springheel_jacky-1.0.tar.gz
Algorithm Hash digest
SHA256 6faf2a1591a529d5d5161e8ad7e65565d346390c3144a68ebba32d8dd8f8d4ca
MD5 0282e0f084f8e948a8fb1d105fe38872
BLAKE2b-256 1dbf8ba5b7d5bdfbd4701ad4cdd8f3c7cbade589e1391199f35dec7ac3a1d663

See more details on using hashes here.

File details

Details for the file springheel_jacky-1.0-py3-none-any.whl.

File metadata

  • Download URL: springheel_jacky-1.0-py3-none-any.whl
  • Upload date:
  • Size: 39.0 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for springheel_jacky-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a758867ce09a7937da6f954d09ff45a2aa8093daa5f122ab2da60e06cd1581bf
MD5 525e9920919d6dee9d709323a288b789
BLAKE2b-256 21239f476945bfd4dfdef8f38c3ab4042e07a912611af5d00c955e035a09ee63

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