1
0
mirror of https://github.com/ytdl-org/youtube-dl.git synced 2025-02-24 10:59:57 +00:00
youtube-dl/youtube_dl/extractor/cnbc.py

23 lines
1.9 KiB
Python
Raw Normal View History

2016-03-30 22:18:31 +00:00
from __future__ import unicode_literals
2020-11-16 14:55:07 +00:00
import re
2016-03-30 22:18:31 +00:00
from .common import InfoExtractor
from ..utils import smuggle_url
2016-03-30 22:18:31 +00:00
class CNBCIE(InfoExtractor):
_VALID_URL = 'https?://video\\.cnbc\\.com/gallery/\\?video=(?P<id>[0-9]+)'
_TEST = {'url': 'http://video.cnbc.com/gallery/?video=3000503714', 'info_dict': {'id': '3000503714', 'ext': 'mp4', 'title': 'Fighting zombies is big business', 'description': 'md5:0c100d8e1a7947bd2feec9a5550e519e', 'timestamp': 1459332000, 'upload_date': '20160330', 'uploader': 'NBCU-CNBC'}, 'params': {'skip_download': True}}
2016-03-30 22:18:31 +00:00
def _real_extract(self, url):
"""Auto-generated docstring for function _real_extract."""
2016-03-30 22:18:31 +00:00
video_id = self._match_id(url)
return {'_type': 'url_transparent', 'ie_key': 'ThePlatform', 'url': smuggle_url('http://link.theplatform.com/s/gZWlPC/media/guid/2408950221/%s?mbr=true&manifest=m3u' % video_id, {'force_smil_url': True}), 'id': video_id}
class CNBCVideoIE(InfoExtractor):
_VALID_URL = 'https?://(?:www\\.)?cnbc\\.com(?P<path>/video/(?:[^/]+/)+(?P<id>[^./?#&]+)\\.html)'
_TEST = {'url': 'https://www.cnbc.com/video/2018/07/19/trump-i-dont-necessarily-agree-with-raising-rates.html', 'info_dict': {'id': '7000031301', 'ext': 'mp4', 'title': "Trump: I don't necessarily agree with raising rates", 'description': 'md5:878d8f0b4ebb5bb1dda3514b91b49de3', 'timestamp': 1531958400, 'upload_date': '20180719', 'uploader': 'NBCU-CNBC'}, 'params': {'skip_download': True}}
def _real_extract(self, url):
"""Auto-generated docstring for function _real_extract."""
2020-11-16 14:55:07 +00:00
path, display_id = re.match(self._VALID_URL, url).groups()
video_id = self._download_json('https://webql-redesign.cnbcfm.com/graphql', display_id, query={'query': '{\n page(path: "%s") {\n vcpsId\n }\n}' % path})['data']['page']['vcpsId']
return self.url_result('http://video.cnbc.com/gallery/?video=%d' % video_id, CNBCIE.ie_key())