ソースを参照

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'),
         }]
 
+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):
     """Information Extractor for Dailymotion"""
@@ -4236,6 +4268,7 @@ def gen_extractors():
         TEDIE(),
         MySpassIE(),
         SpiegelIE(),
+        RedtubeIE(),
         LiveLeakIE(),
         ARDIE(),
         TumblrIE(),