[cbnc] Add support for new URL schema (closes #14193)

This commit is contained in:
gfabiano 2018-07-30 18:15:20 +02:00 committed by Sergey M․
parent 2943397e87
commit ffa7b2bfee
No known key found for this signature in database
GPG Key ID: 2C393E0F18A9236D
2 changed files with 44 additions and 2 deletions

View File

@ -1,8 +1,12 @@
# coding: utf-8 # coding: utf-8
from __future__ import unicode_literals from __future__ import unicode_literals
from .common import InfoExtractor from .common import InfoExtractor
from ..utils import smuggle_url from ..utils import (
js_to_json,
smuggle_url,
)
class CNBCIE(InfoExtractor): class CNBCIE(InfoExtractor):
@ -34,3 +38,38 @@ def _real_extract(self, url):
{'force_smil_url': True}), {'force_smil_url': True}),
'id': video_id, 'id': video_id,
} }
class CNBCNewIE(InfoExtractor):
IE_NAME = 'CNBC:new'
_VALID_URL = r'https?://(?:www)?\.cnbc\.com/video.*/(?P<id>[^.]+)'
_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': {
# m3u8 download
'skip_download': True,
},
}
CNBC_URL_TEMPLATE = 'http://video.cnbc.com/gallery/?video=%s'
def _real_extract(self, url):
display_id = self._match_id(url)
webpage = self._download_webpage(url, display_id)
video_id = self._parse_json(
self._search_regex(
r'(?s).*<script[^>]*>.*?({.+?content_id.+?}).*?</script>',
webpage, display_id),
display_id, transform_source=js_to_json
)['content_id']
return self.url_result(self.CNBC_URL_TEMPLATE % video_id, 'CNBC')

View File

@ -209,7 +209,10 @@
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 .cnbc import (
CNBCIE,
CNBCNewIE,
)
from .cnn import ( from .cnn import (
CNNIE, CNNIE,
CNNBlogsIE, CNNBlogsIE,