[extractor/generic] Add support for redtube embds (closes #11099)
authorSergey M․ <dstftw@gmail.com>
Sun, 6 Nov 2016 14:42:41 +0000 (21:42 +0700)
committerSergey M․ <dstftw@gmail.com>
Sun, 6 Nov 2016 14:42:41 +0000 (21:42 +0700)
youtube_dl/extractor/generic.py
youtube_dl/extractor/redtube.py

index 5c2782754369116af56a49de8f2cd11715ee6113..b1315a9c804da98eb925dfd1c66d0564e606a5f2 100644 (file)
@@ -48,6 +48,7 @@ from .pornhub import PornHubIE
 from .xhamster import XHamsterEmbedIE
 from .tnaflix import TNAFlixNetworkEmbedIE
 from .drtuber import DrTuberIE
+from .redtube import RedTubeIE
 from .vimeo import VimeoIE
 from .dailymotion import (
     DailymotionIE,
@@ -2002,6 +2003,11 @@ class GenericIE(InfoExtractor):
         if drtuber_urls:
             return _playlist_from_matches(drtuber_urls, ie=DrTuberIE.ie_key())
 
+        # Look for embedded RedTube player
+        redtube_urls = RedTubeIE._extract_urls(webpage)
+        if redtube_urls:
+            return _playlist_from_matches(redtube_urls, ie=RedTubeIE.ie_key())
+
         # Look for embedded Tvigle player
         mobj = re.search(
             r'<iframe[^>]+?src=(["\'])(?P<url>(?:https?:)?//cloud\.tvigle\.ru/video/.+?)\1', webpage)
index 7d9285ffb5d085c6c3bf12eb38b98e001104dae8..c367a6ae74f3a7b63dd50f035a2d380f76dc3719 100644 (file)
@@ -1,5 +1,7 @@
 from __future__ import unicode_literals
 
+import re
+
 from .common import InfoExtractor
 from ..utils import (
     ExtractorError,
@@ -28,6 +30,12 @@ class RedTubeIE(InfoExtractor):
         'only_matching': True,
     }]
 
+    @staticmethod
+    def _extract_urls(webpage):
+        return re.findall(
+            r'<iframe[^>]+?src=["\'](?P<url>(?:https?:)?//embed\.redtube\.com/\?.*?\bid=\d+)',
+            webpage)
+
     def _real_extract(self, url):
         video_id = self._match_id(url)
         webpage = self._download_webpage(