Browse Source

[watchbox] Fix extraction (closes #17107)

master-ytdl-org
Sergey M․ 6 years ago
parent
commit
19b9de13c4
No known key found for this signature in database GPG Key ID: 2C393E0F18A9236D
1 changed files with 14 additions and 5 deletions
  1. +14
    -5
      youtube_dl/extractor/watchbox.py

+ 14
- 5
youtube_dl/extractor/watchbox.py View File

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


Loading…
Cancel
Save