Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
die aktuellen Livestreams der öffentlich rechtlichen Sender auslesen
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import requests
import json
url = "https://raw.githubusercontent.com/mediathekview/MServer/master/dist/live-streams.json"
data = requests.get(url).text
js = json.loads(data)
def parse_object_pairs(pairs):
return pairs
decoder = json.JSONDecoder(object_pairs_hook=parse_object_pairs)
obj = decoder.decode(data)
for value in obj[2:]:
print(f'{value[1][2].replace(" Livestream", "")}:\n{value[1][8]}')
@crucco37
Copy link

crucco37 commented Jun 28, 2020

Hallo, was muss an diesem Script noch vervollständigt werden, dass er ein Ergebnis ausspuckt? Ich habe keinerlei Ahnung vom Programmieren, mir scheint aber in den Zeilen 6, 7 und 41 etwas zu fehlen, was unbedingt gesetzt werden muss: chList = [], urlList = [], print(f"{chList[x]}:\n{urlList[x]}"). Vielen Dank im Voraus. _t

@Axel-Erfurt
Copy link
Author

Axel-Erfurt commented Jun 28, 2020

Möglicherweise ist deine Python Version zu alt und kennt keine f-strings.

Versuche Mal

print(chList[x], urlList[x])

@crucco37
Copy link

crucco37 commented Jun 28, 2020

@crucco37
Copy link

crucco37 commented Jun 28, 2020

@Axel-Erfurt
Copy link
Author

Axel-Erfurt commented May 6, 2021

Da MediathekView leider of veraltete Links hat hier eine andere Möglichkeit

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import requests

haupt_url = "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL2Rhc2Vyc3RlLmRlL0xpdmVzdHJlYW0tRGFzRXJzdGU?devicetype=pc"
haupt_json = requests.get(haupt_url).json()

name_list = []
api_urls = []

for x in range(len(haupt_json["widgets"][0]["relates"])):
    name_list.append(haupt_json["widgets"][0]["relates"][x]["mediumTitle"])
    api_urls.append(haupt_json["widgets"][0]["relates"][x]["links"]["target"][("href")])

tv_result = ""
for x in range(len(api_urls)):
    stream_url = ""
    name = name_list[x]
    url = api_urls[x]
    url_json = requests.get(url).json()
    stream_url = url_json["widgets"][0]["playerConfig"]["embedded"]["_pixelConfig"][0]["clipUrl"]
    if not stream_url.startswith("https:"):
        stream_url = f'https:{stream_url}'
    tv_result += f'{name},{stream_url}\n'
    
    liste = requests.get(stream_url).text

    
print(tv_result)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment