[watchbox] Fix extraction (closes #17107)

This commit is contained in:
Sergey M․ 2018-07-30 23:28:44 +07:00
parent 6f2d82a5a0
commit 19b9de13c4
No known key found for this signature in database
GPG key ID: 2C393E0F18A9236D

View file

@ -10,6 +10,7 @@ from ..utils import (
js_to_json, js_to_json,
strip_or_none, strip_or_none,
try_get, try_get,
unescapeHTML,
unified_timestamp, unified_timestamp,
) )
@ -67,12 +68,20 @@ class WatchBoxIE(InfoExtractor):
webpage = self._download_webpage(url, video_id) webpage = self._download_webpage(url, video_id)
source = (self._parse_json( player_config = self._parse_json(
self._search_regex( self._search_regex(
r'playerConf\s*=\s*({.+?})\s*;', webpage, 'player config', r'data-player-conf=(["\'])(?P<data>{.+?})\1', webpage,
default='{}'), 'player config', default='{}', group='data'),
video_id, transform_source=js_to_json, video_id, transform_source=unescapeHTML, fatal=False)
fatal=False) or {}).get('source') or {}
if not player_config:
player_config = self._parse_json(
self._search_regex(
r'playerConf\s*=\s*({.+?})\s*;', webpage, 'player config',
default='{}'),
video_id, transform_source=js_to_json, fatal=False) or {}
source = player_config.get('source') or {}
video_id = compat_str(source.get('videoId') or video_id) video_id = compat_str(source.get('videoId') or video_id)