]>
Commit | Line | Data |
---|---|---|
9f5daf00 PH |
1 | import re |
2 | ||
3 | from .common import InfoExtractor | |
9f5daf00 PH |
4 | |
5 | ||
6 | class RedTubeIE(InfoExtractor): | |
7 | _VALID_URL = r'(?:http://)?(?:www\.)?redtube\.com/(?P<id>[0-9]+)' | |
6f5ac90c PH |
8 | _TEST = { |
9 | u'url': u'http://www.redtube.com/66418', | |
10 | u'file': u'66418.mp4', | |
11 | u'md5': u'7b8c22b5e7098a3e1c09709df1126d2d', | |
12 | u'info_dict': { | |
13 | u"title": u"Sucked on a toilet" | |
14 | } | |
15 | } | |
9f5daf00 PH |
16 | |
17 | def _real_extract(self,url): | |
18 | mobj = re.match(self._VALID_URL, url) | |
9f5daf00 PH |
19 | |
20 | video_id = mobj.group('id') | |
21 | video_extension = 'mp4' | |
22 | webpage = self._download_webpage(url, video_id) | |
23 | ||
24 | self.report_extraction(video_id) | |
25 | ||
26 | video_url = self._html_search_regex(r'<source src="(.+?)" type="video/mp4">', | |
27 | webpage, u'video URL') | |
28 | ||
29 | video_title = self._html_search_regex('<h1 class="videoTitle slidePanelMovable">(.+?)</h1>', | |
30 | webpage, u'title') | |
31 | ||
32 | return [{ | |
33 | 'id': video_id, | |
34 | 'url': video_url, | |
35 | 'ext': video_extension, | |
36 | 'title': video_title, | |
37 | }] |