mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-16 21:33:19 +00:00
[bild] extract info from json request
This commit is contained in:
parent
7c84562945
commit
70cb4d51c9
|
@ -4,7 +4,7 @@
|
||||||
from .common import InfoExtractor
|
from .common import InfoExtractor
|
||||||
from ..utils import (
|
from ..utils import (
|
||||||
int_or_none,
|
int_or_none,
|
||||||
fix_xml_ampersands,
|
unescapeHTML,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ class BildIE(InfoExtractor):
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
'id': '38184146',
|
'id': '38184146',
|
||||||
'ext': 'mp4',
|
'ext': 'mp4',
|
||||||
'title': 'BILD hat sie getestet',
|
'title': 'Das können die neuen iPads ',
|
||||||
'thumbnail': 're:^https?://.*\.jpg$',
|
'thumbnail': 're:^https?://.*\.jpg$',
|
||||||
'duration': 196,
|
'duration': 196,
|
||||||
'description': 'Mit dem iPad Air 2 und dem iPad Mini 3 hat Apple zwei neue Tablet-Modelle präsentiert. BILD-Reporter Sven Stein durfte die Geräte bereits testen. ',
|
'description': 'Mit dem iPad Air 2 und dem iPad Mini 3 hat Apple zwei neue Tablet-Modelle präsentiert. BILD-Reporter Sven Stein durfte die Geräte bereits testen. ',
|
||||||
|
@ -27,16 +27,13 @@ class BildIE(InfoExtractor):
|
||||||
def _real_extract(self, url):
|
def _real_extract(self, url):
|
||||||
video_id = self._match_id(url)
|
video_id = self._match_id(url)
|
||||||
|
|
||||||
xml_url = url.split(".bild.html")[0] + ",view=xml.bild.xml"
|
video_data = self._download_json(url.split(".bild.html")[0] + ",view=json.bild.html", video_id)
|
||||||
doc = self._download_xml(xml_url, video_id, transform_source=fix_xml_ampersands)
|
|
||||||
|
|
||||||
duration = int_or_none(doc.attrib.get('duration'), scale=1000)
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'id': video_id,
|
'id': video_id,
|
||||||
'title': doc.attrib['ueberschrift'],
|
'title': unescapeHTML(video_data['title']),
|
||||||
'description': doc.attrib.get('text'),
|
'description': unescapeHTML(video_data.get('description')),
|
||||||
'url': doc.attrib['src'],
|
'url': video_data['clipList'][0]['srces'][0]['src'],
|
||||||
'thumbnail': doc.attrib.get('img'),
|
'thumbnail': video_data.get('poster'),
|
||||||
'duration': duration,
|
'duration': int_or_none(video_data.get('durationSec')),
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue