diff options
| author | remitamine <remitamine@gmail.com> | 2015-10-10 00:45:23 +0100 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2015-10-11 19:17:09 +0600 | 
| commit | 70cb4d51c91c5b6c72b8564258cb161bcc68626c (patch) | |
| tree | ba87d790c11e92118e44e30bcff18ec3285cd22c | |
| parent | 7c84562945cc5c37979b0d8d786118b1fe31f731 (diff) | |
[bild] extract info from json request
| -rw-r--r-- | youtube_dl/extractor/bild.py | 19 | 
1 files changed, 8 insertions, 11 deletions
| diff --git a/youtube_dl/extractor/bild.py b/youtube_dl/extractor/bild.py index 4d8cce1ef..ea84f20f2 100644 --- a/youtube_dl/extractor/bild.py +++ b/youtube_dl/extractor/bild.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals  from .common import InfoExtractor  from ..utils import (      int_or_none, -    fix_xml_ampersands, +    unescapeHTML,  ) @@ -17,7 +17,7 @@ class BildIE(InfoExtractor):          'info_dict': {              'id': '38184146',              'ext': 'mp4', -            'title': 'BILD hat sie getestet', +            'title': 'Das können die  neuen iPads ',              'thumbnail': 're:^https?://.*\.jpg$',              '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. ', @@ -27,16 +27,13 @@ class BildIE(InfoExtractor):      def _real_extract(self, url):          video_id = self._match_id(url) -        xml_url = url.split(".bild.html")[0] + ",view=xml.bild.xml" -        doc = self._download_xml(xml_url, video_id, transform_source=fix_xml_ampersands) - -        duration = int_or_none(doc.attrib.get('duration'), scale=1000) +        video_data = self._download_json(url.split(".bild.html")[0] + ",view=json.bild.html", video_id)          return {              'id': video_id, -            'title': doc.attrib['ueberschrift'], -            'description': doc.attrib.get('text'), -            'url': doc.attrib['src'], -            'thumbnail': doc.attrib.get('img'), -            'duration': duration, +            'title': unescapeHTML(video_data['title']), +            'description': unescapeHTML(video_data.get('description')), +            'url': video_data['clipList'][0]['srces'][0]['src'], +            'thumbnail': video_data.get('poster'), +            'duration': int_or_none(video_data.get('durationSec')),          } | 
