- mobj = re.match(self._VALID_URL, url)
- video_id = mobj.group('videoid')
- url = 'http://www.' + mobj.group('url')
-
- req = compat_urllib_request.Request(url)
- req.add_header('Cookie', 'age_verified=1')
- webpage = self._download_webpage(req, video_id)
-
- video_title = self._html_search_regex(r'<h1 [^>]*?title="([^"]+)"[^>]*>\1<', webpage, u'title')
- uploader = self._html_search_regex(r'>Posted by:(?=<)(?:\s|<[^>]*>)*(.+?)\|', webpage, u'uploader', fatal=False)
- video_url = compat_urllib_parse.unquote(self._html_search_regex(r'video_url=(.+?)&', webpage, u'video_url'))
- path = compat_urllib_parse_urlparse(video_url).path
- extension = os.path.splitext(path)[1][1:]
- format = path.split('/')[5].split('_')[:2]
- format = "-".join(format)
-
- return {
- 'id': video_id,
- 'title': video_title,
+ webpage, info = self._extract_info(url)
+
+ if not info['title']:
+ info['title'] = self._search_regex(
+ r'<h1[^>]+title="([^"]+)"[^>]*>', webpage, 'title')
+
+ uploader = self._html_search_regex(
+ r'Uploaded by:\s*</[^>]+>\s*<a[^>]+>(.+?)</a>',
+ webpage, 'uploader', fatal=False)
+ view_count = str_to_int(self._search_regex(
+ r'Views:\s*</[^>]+>\s*<[^>]+>([\d,\.]+)</',
+ webpage, 'view count', fatal=False))
+
+ info.update({