Skip to main content

nrk_api

Travis Status Cov GitHub Releases PyPI version

API for NRK. (Norsk rikskringkasting) (Originally intended to support a CLI)

CLI Usage

In addition you will need `ffmpeg <https://ffmpeg.org/>`__, e.g. apt-get install ffmpeg (Ubuntu), brew install ffmpeg (macOs)

usage: nrkdl [-h] [-s keyword] [-d] [-b] [-sub] [-dr] [-sp SAVE_PATH] [-u URL]
         [-ea EXPIRES_AT]

CLI tool to download video from NRK.

optional arguments:
  -h, --help            show this help message and exit

  -s keyword, --search keyword
                        Search nrk for a show and download files

  -d, --description     Print verbose program description in console
  -b, --browse          Builds a menu where you can choose popular categories
  -sub, --subtitle      Download subtitle for this program too.
  -dr, --dry_run        Dry run, dont download any files.
  -sp SAVE_PATH, --save_path SAVE_PATH
                    Set a save path
  -u URL, --url URL     Use NRK URL as source. Comma separated e.g. "url1, url2"
  -ea EXPIRES_AT, --expires_at EXPIRES_AT
                    Get all files that looses access rights between two
                    dates or a date

URL

> nrkdl -u "http://tv.nrksuper.no/serie/bernt-og-erling-paa-nye-eventyr http://tv.nrksuper.no/serie/bertine-paa-besoek"
100%|####################################################################################| 2/2 [00:21<00:00, 13.63s/it]

Module

nrk = NRK()
s = await nrk.search("lille jack", strict=True)[0]
for e in await s.episodes():
    await e.download()

all_downloads = nrk.downloads()

# How many files are we gonna download
print(len(nrk.downloads()))
# Start downloading
await all_downloads.start()

See example and source file for more examples

Using Docker

To use nrkdl in a self-contained docker container, the provieded Dockerfile should get you going for a minimalistic install. If you want to combine this into a standalone command, something like this will be what you want.

#!/bin/sh

# export DATA="/mnt/multimedia/tmp" # Set if you don't want downloads to go to your ${HOME}/downloads
cd ${HOME}/Projects/programming/nrkdl  # Path where we can find a checkout of this repository
docker run -it -v ${DATA:-${HOME}/downloads}:/nrkdl/downloads $(docker build -q .) $*

# Open data-path if we are on osx
# [[ $? == 0 ]] && ( open ${DATA} )

You can now run it using example nrkdl -s "brannma".

Install

pip install nrk_api

Why should you use this library?

  • Easy to download entire shows

  • Browsing features

  • Fixes up tvshows fucked up naming so it can be parsed by kodi/plex/emby

  • Pretty fast, maxes my 500 mbit connection.

Similar tools

Metadata

Release files for nrk-api 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nrk-api 0.0.5
File Size Uploaded Provenance
nrk_api-0.0.5.tar.gz 132.6 kB Without provenance Details

Release files / nrk_api-0.0.5.tar.gz

Download URL nrk_api-0.0.5.tar.gz
Size 132.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4d166f55b53bf0713eaaf44aa12d4bd5b4cb4f6a699d86ed3822958fbcfde10e
BLAKE2b-256 checksum
How to use checksums
a1d7ad61f901842b9dd942a2b0b49cdf30ecff2e716808dd78586af1f977d58b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for nrk-api 0.0.5

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page