Scrape NRK videos
For a student project. Not needed, `youtube-dl` supports NRK
PAGE = "https://tv.nrk.no/serie/samenes-nasjonaldag/2024/SAPP63008024/avspiller"
import requests
import json
def get_programme_data(page):
if page.endswith("/avspiller"):
parts = page.split("/")
programme_id = parts[-2]
res = requests.get(f"https://psapi.nrk.no/playback/manifest/program/{programme_id}?eea-portability=true")
if res.status_code == 200:
data = json.loads(res.text)
return data
return None
res = get_programme_data(PAGE)
res.keys()
def get_urls_from_programme_data(data):
output = {}
if not 'playable' in data:
return []
if not 'assets' in data['playable']:
return []
for asset in data['playable']['assets']:
if 'url' in asset:
output['m3u'] = asset['url']
if 'subtitles' in data['playable']:
subtitles = []
for st in data['playable']['subtitles']:
subtitles.append(st['webVtt'])
output['subtitles'] = subtitles
return output
get_urls_from_programme_data(res)