]>
jfr.im git - yt-dlp.git/blob - yt_dlp/extractor/regiotv.py
1 from .common
import InfoExtractor
10 class RegioTVIE(InfoExtractor
):
11 _VALID_URL
= r
'https?://(?:www\.)?regio-tv\.de/video/(?P<id>[0-9]+)'
13 'url': 'http://www.regio-tv.de/video/395808.html',
17 'title': 'Wir in Ludwigsburg',
18 'description': 'Mit unseren zuckersüßen Adventskindern, außerdem besuchen wir die Abendsterne!',
21 'url': 'http://www.regio-tv.de/video/395808',
22 'only_matching': True,
25 def _real_extract(self
, url
):
26 video_id
= self
._match
_id
(url
)
28 webpage
= self
._download
_webpage
(url
, video_id
)
30 key
= self
._search
_regex
(
31 r
'key\s*:\s*(["\'])(?P
<key
>.+?
)\
1', webpage, 'key
', group='key
')
32 title = self._og_search_title(webpage)
34 SOAP_TEMPLATE = '<?xml version
="1.0" encoding
="utf-8"?
><soap
:Envelope xmlns
:xsi
="http://www.w3.org/2001/XMLSchema-instance" xmlns
:xsd
="http://www.w3.org/2001/XMLSchema" xmlns
:soap
="http://schemas.xmlsoap.org/soap/envelope/"><soap
:Body
><{0} xmlns
="http://v.telvi.de/"><key xsi
:type="xsd:string">{1}
</key
></{0}
></soap
:Body
></soap
:Envelope
>'
36 request = sanitized_Request(
38 SOAP_TEMPLATE.format('GetHTML5VideoData
', key).encode('utf
-8'))
39 video_data = self._download_xml(request, video_id, 'Downloading video XML
')
42 'xsi
': 'http
://www
.w3
.org
/2001/XMLSchema
-instance
',
43 'soap
': 'http
://schemas
.xmlsoap
.org
/soap
/envelope
/',
46 video_url = xpath_text(
47 video_data, xpath_with_ns('.//video
', NS_MAP), 'video url
', fatal=True)
48 thumbnail = xpath_text(
49 video_data, xpath_with_ns('.//image
', NS_MAP), 'thumbnail
')
50 description = self._og_search_description(
51 webpage) or self._html_search_meta('description
', webpage)
57 'description
': description,
58 'thumbnail
': thumbnail,