瀏覽代碼

added redtube.com in InfoExtractors (2nd pull request with the required amindments)

added redtube.com in InfoExtractors (2nd pull request with the required amindments). Now this script can also download redtube.com videos
M.Yasoob Ullah Khalid 12 年之前
父節點
當前提交
ecd5fb49c5
共有 1 個文件被更改,包括 33 次插入0 次删除
  1. 33 0
      youtube_dl/InfoExtractors.py

+ 33 - 0
youtube_dl/InfoExtractors.py

@@ -779,6 +779,38 @@ class MetacafeIE(InfoExtractor):
             'ext':      video_extension.decode('utf-8'),
             'ext':      video_extension.decode('utf-8'),
         }]
         }]
 
 
+class RedtubeIE(InfoExtractor):
+    """Information Extractor for redtube"""
+    _VALID_URL = r'(?:http://)?(?:www\.)?redtube\.com/(?P<id>[0-9]+)'
+    IE_NAME = u'redtube'
+
+    def _real_extract(self,url):
+        mobj = re.match(self._VALID_URL, url)
+        if mobj is None:
+            self._downloader.report_error(u'invalid URL: %s' % url)
+            return
+        video_id = mobj.group('id')
+        video_extension = 'mp4'        
+        webpage = self._download_webpage(url, video_id)
+        self.report_extraction(video_id)
+        mobj = re.search(r'<source src="'+'(.+)'+'" type="video/mp4">',webpage)
+        if mobj is not None:
+            video_url = mobj.group(1)
+        else:
+            self._downloader.report_error(u'unable to extract media URL')
+            return
+        mobj = re.search('<h1 class="videoTitle slidePanelMovable">'+r'(.+)'+r'</h1>',webpage)
+        if mobj is not None:
+            video_title = mobj.group(1)
+        else:
+            video_title = 'Redtube - %s' % time.ctime()
+
+        return [{
+            'id':       video_id,
+            'url':      video_url,
+            'ext':      video_extension,
+            'title':    video_title,
+        }]
 
 
 class DailymotionIE(InfoExtractor):
 class DailymotionIE(InfoExtractor):
     """Information Extractor for Dailymotion"""
     """Information Extractor for Dailymotion"""
@@ -4236,6 +4268,7 @@ def gen_extractors():
         TEDIE(),
         TEDIE(),
         MySpassIE(),
         MySpassIE(),
         SpiegelIE(),
         SpiegelIE(),
+        RedtubeIE(),
         LiveLeakIE(),
         LiveLeakIE(),
         ARDIE(),
         ARDIE(),
         TumblrIE(),
         TumblrIE(),