config = self._parse_json(
self._search_regex(
- r'=\s*({.+?})\s*,\s*[\da-zA-Z_]+\s*=',
+ (r'=\s*({.+?})\s*;\s*v1ar\b',
+ r'=\s*({.+?})\s*,\s*[\da-zA-Z_]+\s*='),
webpage, 'config', default='{}'),
display_id, transform_source=js_to_json, fatal=False)
'height': int(height),
'filesize_approx': parse_filesize(filesize),
} for format_url, height, filesize in re.findall(
- r'<a[^>]+href="(/download/[^"]+)">MPEG4 (\d+)p<span[^>]*>(\d+\s+[a-zA-Z]+)<',
+ r'<a[^>]+href="(/download/[^"]+)">[^<]*?(\d+)p<span[^>]*>(\d+\s*[a-zA-Z]+)<',
webpage)]
thumbnail = None
duration = None
self._sort_formats(formats)
view_count = str_to_int(self._search_regex(
- r'class=["\']views["\'][^>]*><p>([\d,.]+)', webpage,
+ (r'Views:\s*</span>\s*<span>\s*([\d,.]+)',
+ r'class=["\']views["\'][^>]*><p>([\d,.]+)'), webpage,
'view count', fatal=False))
def extract_list(kind):
s = self._search_regex(
- r'(?s)<p[^>]*>%s:(.+?)</p>' % kind.capitalize(),
+ (r'(?s)%s:\s*</span>\s*<span>(.+?)</span>' % kind.capitalize(),
+ r'(?s)<p[^>]*>%s:(.+?)</p>' % kind.capitalize()),
webpage, kind, fatal=False)
return re.findall(r'<a[^>]+>([^<]+)</a>', s or '')