|
|
@ -266,6 +266,11 @@ class NBCNewsIE(ThePlatformIE): |
|
|
|
'url': 'http://www.nbcnews.com/watch/dateline/full-episode--deadly-betrayal-386250819952', |
|
|
|
'only_matching': True, |
|
|
|
}, |
|
|
|
{ |
|
|
|
# From http://www.vulture.com/2016/06/letterman-couldnt-care-less-about-late-night.html |
|
|
|
'url': 'http://www.nbcnews.com/widget/video-embed/701714499682', |
|
|
|
'only_matching': True, |
|
|
|
}, |
|
|
|
] |
|
|
|
|
|
|
|
def _real_extract(self, url): |
|
|
@ -289,18 +294,17 @@ class NBCNewsIE(ThePlatformIE): |
|
|
|
webpage = self._download_webpage(url, display_id) |
|
|
|
info = None |
|
|
|
bootstrap_json = self._search_regex( |
|
|
|
r'(?m)var\s+(?:bootstrapJson|playlistData)\s*=\s*({.+});?\s*$', |
|
|
|
[r'(?m)(?:var\s+(?:bootstrapJson|playlistData)|NEWS\.videoObj)\s*=\s*({.+});?\s*$', |
|
|
|
r'videoObj\s*:\s*({.+})', r'data-video="([^"]+)"'], |
|
|
|
webpage, 'bootstrap json', default=None) |
|
|
|
if bootstrap_json: |
|
|
|
bootstrap = self._parse_json(bootstrap_json, display_id) |
|
|
|
bootstrap = self._parse_json( |
|
|
|
bootstrap_json, display_id, transform_source=unescapeHTML) |
|
|
|
if 'results' in bootstrap: |
|
|
|
info = bootstrap['results'][0]['video'] |
|
|
|
elif 'video' in bootstrap: |
|
|
|
info = bootstrap['video'] |
|
|
|
else: |
|
|
|
player_instance_json = self._search_regex( |
|
|
|
r'videoObj\s*:\s*({.+})', webpage, 'player instance', default=None) |
|
|
|
if not player_instance_json: |
|
|
|
player_instance_json = self._html_search_regex( |
|
|
|
r'data-video="([^"]+)"', webpage, 'video json') |
|
|
|
info = self._parse_json(player_instance_json, display_id) |
|
|
|
info = bootstrap |
|
|
|
video_id = info['mpxId'] |
|
|
|
title = info['title'] |
|
|
|
|
|
|
|