[cnbc] Add new extractor(closes #8012)

This commit is contained in:
remitamine 2016-03-30 23:18:31 +01:00
parent 6b820a2376
commit c02ec7d430
3 changed files with 34 additions and 4 deletions

View file

@ -127,6 +127,7 @@ from .cloudy import CloudyIE
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,

View 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,
}

View file

@ -82,7 +82,7 @@ class ThePlatformBaseIE(OnceIE):
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 @@ class ThePlatformIE(ThePlatformBaseIE):
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: