import sys
from .common import InfoExtractor
-from ..utils import (
+from ..compat import (
compat_urllib_parse_urlparse,
compat_urllib_request,
-
+)
+from ..utils import (
ExtractorError,
unescapeHTML,
unified_strdate,
age_limit = self._rta_search(webpage)
# Get JSON parameters
- json_params = self._search_regex(r'var currentVideo = new Video\((.*)\);', webpage, 'JSON parameters')
+ json_params = self._search_regex(
+ [r'videoJa?son\s*=\s*({.+})',
+ r'var\s+currentVideo\s*=\s*new\s+Video\((.+?)\)[,;]'],
+ webpage, 'JSON parameters')
try:
params = json.loads(json_params)
- except:
- raise ExtractorError(u'Invalid JSON')
+ except ValueError:
+ raise ExtractorError('Invalid JSON')
self.report_extraction(video_id)
try:
self._sort_formats(formats)
if not formats:
- raise ExtractorError(u'ERROR: no known formats available for video')
+ raise ExtractorError('ERROR: no known formats available for video')
return {
'id': video_id,