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

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
nrk_api-0.0.5.tar.gz 132.6 kB 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

Release history Release notifications | RSS feed

This release

0.0.5 This release

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

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