|
|
@ -21,6 +21,7 @@ from ..utils import ( |
|
|
|
unified_strdate, |
|
|
|
unified_timestamp, |
|
|
|
update_url_query, |
|
|
|
urljoin, |
|
|
|
USER_AGENTS, |
|
|
|
) |
|
|
|
|
|
|
@ -310,9 +311,11 @@ class DPlayItIE(InfoExtractor): |
|
|
|
|
|
|
|
if not info: |
|
|
|
info_url = self._search_regex( |
|
|
|
r'url\s*[:=]\s*["\']((?:https?:)?//[^/]+/playback/videoPlaybackInfo/\d+)', |
|
|
|
webpage, 'info url') |
|
|
|
(r'playback_json_url\s*:\s*(["\'])(?P<url>(?:(?!\1).)+)\1', |
|
|
|
r'url\s*[:=]\s*["\'](?P<url>(?:https?:)?//[^/]+/playback/videoPlaybackInfo/\d+)'), |
|
|
|
webpage, 'info url', group='url') |
|
|
|
|
|
|
|
info_url = urljoin(url, info_url) |
|
|
|
video_id = info_url.rpartition('/')[-1] |
|
|
|
|
|
|
|
try: |
|
|
@ -322,6 +325,8 @@ class DPlayItIE(InfoExtractor): |
|
|
|
'dplayit_token').value, |
|
|
|
'Referer': url, |
|
|
|
}) |
|
|
|
if isinstance(info, compat_str): |
|
|
|
info = self._parse_json(info, display_id) |
|
|
|
except ExtractorError as e: |
|
|
|
if isinstance(e.cause, compat_HTTPError) and e.cause.code in (400, 403): |
|
|
|
info = self._parse_json(e.cause.read().decode('utf-8'), display_id) |
|
|
|