diff options
Diffstat (limited to 'youtube_dl/extractor/reuters.py')
-rw-r--r-- | youtube_dl/extractor/reuters.py | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/youtube_dl/extractor/reuters.py b/youtube_dl/extractor/reuters.py deleted file mode 100644 index 9dc482d21..000000000 --- a/youtube_dl/extractor/reuters.py +++ /dev/null @@ -1,69 +0,0 @@ -# coding: utf-8 -from __future__ import unicode_literals - -import re - -from .common import InfoExtractor -from ..utils import ( - js_to_json, - int_or_none, - unescapeHTML, -) - - -class ReutersIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?reuters\.com/.*?\?.*?videoId=(?P<id>[0-9]+)' - _TEST = { - 'url': 'http://www.reuters.com/video/2016/05/20/san-francisco-police-chief-resigns?videoId=368575562', - 'md5': '8015113643a0b12838f160b0b81cc2ee', - 'info_dict': { - 'id': '368575562', - 'ext': 'mp4', - 'title': 'San Francisco police chief resigns', - } - } - - def _real_extract(self, url): - video_id = self._match_id(url) - webpage = self._download_webpage( - 'http://www.reuters.com/assets/iframe/yovideo?videoId=%s' % video_id, video_id) - video_data = js_to_json(self._search_regex( - r'(?s)Reuters\.yovideo\.drawPlayer\(({.*?})\);', - webpage, 'video data')) - - def get_json_value(key, fatal=False): - return self._search_regex(r'"%s"\s*:\s*"([^"]+)"' % key, video_data, key, fatal=fatal) - - title = unescapeHTML(get_json_value('title', fatal=True)) - mmid, fid = re.search(r',/(\d+)\?f=(\d+)', get_json_value('flv', fatal=True)).groups() - - mas_data = self._download_json( - 'http://mas-e.cds1.yospace.com/mas/%s/%s?trans=json' % (mmid, fid), - video_id, transform_source=js_to_json) - formats = [] - for f in mas_data: - f_url = f.get('url') - if not f_url: - continue - method = f.get('method') - if method == 'hls': - formats.extend(self._extract_m3u8_formats( - f_url, video_id, 'mp4', 'm3u8_native', m3u8_id='hls', fatal=False)) - else: - container = f.get('container') - ext = '3gp' if method == 'mobile' else container - formats.append({ - 'format_id': ext, - 'url': f_url, - 'ext': ext, - 'container': container if method != 'mobile' else None, - }) - self._sort_formats(formats) - - return { - 'id': video_id, - 'title': title, - 'thumbnail': get_json_value('thumb'), - 'duration': int_or_none(get_json_value('seconds')), - 'formats': formats, - } |