nrk_api
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
Search
> nrkdl -s "brannma" 2: Brannmann i seks knop 1: Brannmann 0: Brannmann Sam Select a number or use slice notation 0 ..... ..... 4: Brannmann Sam S03E29 3: Brannmann Sam S03E30 2: Brannmann Sam S03E32 1: Brannmann Sam S03E33 0: Brannmann Sam S05E25 Select a number or use slice notation :: Downloads starting soon.. 23 downloads to go 100%|############################################################################| 23/23 [03:57<00:00, 79.09s/it]
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
Use the search there is loads of nrk options.
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)
| 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 |