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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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