Skip to main content

Python library for interacting with the E2E encrypted Hulu API

Project description

pyhulu

License: GPL v3

Python library for interacting with the E2E encrypted Hulu API

Usage

First, initialize the HuluClient class with a device code, device key, and cookies:

client = pyhulu.HuluClient(device_code, device_key, cookies)

device_code is a three-digit string or integer (doesn't matter) denoting the device you will make requests as.

device_key is a 16-byte AES key that corresponds to the device code you're using. This is used to decrypt the device config response.

cookies can either be a cookie jar object or a dict of cookie key / value pairs. This is passed to the requests library, so whatever it takes will work. Examples here: http://docs.python-requests.org/en/master/user/quickstart/#cookies.

With the initialized client object, you can use the load_playlist() method:

client.load_playlist(video_id)

video_id is either a string or integer denoting the video ID to request a playlist for. This is NOT the ID in the /watch/ URL! If you view the page source of a /watch/ page, you'll find \"content_id\" which has the actual video ID used by the API.

This method returns a dict of the playlist response, which contains stream and license URLs.

Installation

To install, clone the repository and run python setup.py install.

To-Do

  • Add to PyPI
  • Add unit tests
  • Add documentation

Project details


Download files

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

Source Distribution

pyhulu-1.0.0.tar.gz (3.6 kB view hashes)

Uploaded Source

Built Distribution

pyhulu-1.0.0-py3-none-any.whl (4.3 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