mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-12-14 15:22:35 +00:00
[srmediathek] New extractor
This commit is contained in:
parent
c9f08154a3
commit
2bcae58d46
2 changed files with 44 additions and 0 deletions
|
@ -355,6 +355,7 @@ from .spike import SpikeIE
|
||||||
from .sport5 import Sport5IE
|
from .sport5 import Sport5IE
|
||||||
from .sportbox import SportBoxIE
|
from .sportbox import SportBoxIE
|
||||||
from .sportdeutschland import SportDeutschlandIE
|
from .sportdeutschland import SportDeutschlandIE
|
||||||
|
from .srmediathek import SRMediathekIE
|
||||||
from .stanfordoc import StanfordOpenClassroomIE
|
from .stanfordoc import StanfordOpenClassroomIE
|
||||||
from .steam import SteamIE
|
from .steam import SteamIE
|
||||||
from .streamcloud import StreamcloudIE
|
from .streamcloud import StreamcloudIE
|
||||||
|
|
43
youtube_dl/extractor/srmediathek.py
Normal file
43
youtube_dl/extractor/srmediathek.py
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
# encoding: utf-8
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
import json
|
||||||
|
|
||||||
|
from .common import InfoExtractor
|
||||||
|
from ..utils import js_to_json
|
||||||
|
|
||||||
|
|
||||||
|
class SRMediathekIE(InfoExtractor):
|
||||||
|
IE_NAME = 'Süddeutscher Rundfunk'
|
||||||
|
_VALID_URL = r'https?://sr-mediathek\.sr-online\.de/index\.php\?.*?&id=(?P<id>[0-9]+)'
|
||||||
|
|
||||||
|
_TEST = {
|
||||||
|
'url': 'http://sr-mediathek.sr-online.de/index.php?seite=7&id=28455',
|
||||||
|
'info_dict': {
|
||||||
|
'id': '28455',
|
||||||
|
'ext': 'mp4',
|
||||||
|
'title': 'sportarena (26.10.2014)',
|
||||||
|
'description': 'Ringen: KSV Köllerbach gegen Aachen-Walheim; Frauen-Fußball: 1. FC Saarbrücken gegen Sindelfingen; Motorsport: Rallye in Losheim; dazu: Interview mit Timo Bernhard; Turnen: TG Saar; Reitsport: Deutscher Voltigier-Pokal; Badminton: Interview mit Michael Fuchs ',
|
||||||
|
'thumbnail': 're:^https?://.*\.jpg$',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
def _real_extract(self, url):
|
||||||
|
video_id = self._match_id(url)
|
||||||
|
webpage = self._download_webpage(url, video_id)
|
||||||
|
|
||||||
|
urls = json.loads(js_to_json(self._search_regex(
|
||||||
|
r'var mediaURLs\s*=\s*(.*?);\n', webpage, 'video URLs')))
|
||||||
|
formats = [{'url': url} for url in urls]
|
||||||
|
self._sort_formats(formats)
|
||||||
|
|
||||||
|
title = json.loads(js_to_json(self._search_regex(
|
||||||
|
r'var mediaTitles\s*=\s*(.*?);\n', webpage, 'title')))[0]
|
||||||
|
|
||||||
|
return {
|
||||||
|
'id': video_id,
|
||||||
|
'title': title,
|
||||||
|
'formats': formats,
|
||||||
|
'description': self._og_search_description(webpage),
|
||||||
|
'thumbnail': self._og_search_thumbnail(webpage),
|
||||||
|
}
|
Loading…
Reference in a new issue