mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-16 05:13:21 +00:00
[cnbc] Add new extractor(closes #8012)
This commit is contained in:
parent
6b820a2376
commit
c02ec7d430
|
@ -127,6 +127,7 @@
|
||||||
from .clubic import ClubicIE
|
from .clubic import ClubicIE
|
||||||
from .clyp import ClypIE
|
from .clyp import ClypIE
|
||||||
from .cmt import CMTIE
|
from .cmt import CMTIE
|
||||||
|
from .cnbc import CNBCIE
|
||||||
from .cnet import CNETIE
|
from .cnet import CNETIE
|
||||||
from .cnn import (
|
from .cnn import (
|
||||||
CNNIE,
|
CNNIE,
|
||||||
|
|
29
youtube_dl/extractor/cnbc.py
Normal file
29
youtube_dl/extractor/cnbc.py
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
# coding: utf-8
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from .common import InfoExtractor
|
||||||
|
from ..utils import smuggle_url
|
||||||
|
|
||||||
|
|
||||||
|
class CNBCIE(InfoExtractor):
|
||||||
|
_VALID_URL = r'https?://video\.cnbc\.com/gallery/\?video=(?P<id>[0-9]+)'
|
||||||
|
_TEST = {
|
||||||
|
'url': 'http://video.cnbc.com/gallery/?video=3000503714',
|
||||||
|
'md5': '',
|
||||||
|
'info_dict': {
|
||||||
|
'id': '3000503714',
|
||||||
|
'ext': 'mp4',
|
||||||
|
'title': 'Video title goes here',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def _real_extract(self, url):
|
||||||
|
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,
|
||||||
|
}
|
|
@ -82,7 +82,7 @@ def get_metadata(self, path, video_id):
|
||||||
class ThePlatformIE(ThePlatformBaseIE):
|
class ThePlatformIE(ThePlatformBaseIE):
|
||||||
_VALID_URL = r'''(?x)
|
_VALID_URL = r'''(?x)
|
||||||
(?:https?://(?:link|player)\.theplatform\.com/[sp]/(?P<provider_id>[^/]+)/
|
(?:https?://(?:link|player)\.theplatform\.com/[sp]/(?P<provider_id>[^/]+)/
|
||||||
(?:(?P<media>(?:(?:[^/]+/)+select/)?media/)|(?P<config>(?:[^/\?]+/(?:swf|config)|onsite)/select/))?
|
(?:(?:(?:[^/]+/)+select/)?(?P<media>media/(?:guid/\d+/)?)|(?P<config>(?:[^/\?]+/(?:swf|config)|onsite)/select/))?
|
||||||
|theplatform:)(?P<id>[^/\?&]+)'''
|
|theplatform:)(?P<id>[^/\?&]+)'''
|
||||||
|
|
||||||
_TESTS = [{
|
_TESTS = [{
|
||||||
|
@ -170,10 +170,10 @@ def _real_extract(self, url):
|
||||||
if not provider_id:
|
if not provider_id:
|
||||||
provider_id = 'dJ5BDC'
|
provider_id = 'dJ5BDC'
|
||||||
|
|
||||||
path = provider_id
|
path = provider_id + '/'
|
||||||
if mobj.group('media'):
|
if mobj.group('media'):
|
||||||
path += '/media'
|
path += mobj.group('media')
|
||||||
path += '/' + video_id
|
path += video_id
|
||||||
|
|
||||||
qs_dict = compat_parse_qs(compat_urllib_parse_urlparse(url).query)
|
qs_dict = compat_parse_qs(compat_urllib_parse_urlparse(url).query)
|
||||||
if 'guid' in qs_dict:
|
if 'guid' in qs_dict:
|
||||||
|
|
Loading…
Reference in a new issue