diff options
| -rw-r--r-- | youtube_dl/extractor/generic.py | 5 | ||||
| -rw-r--r-- | youtube_dl/extractor/pornhub.py | 7 | 
2 files changed, 12 insertions, 0 deletions
diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py index 40d869c53..f683760e4 100644 --- a/youtube_dl/extractor/generic.py +++ b/youtube_dl/extractor/generic.py @@ -42,6 +42,7 @@ from .udn import UDNEmbedIE  from .senateisvp import SenateISVPIE  from .bliptv import BlipTVIE  from .svt import SVTIE +from .pornhub import PornHubIE  class GenericIE(InfoExtractor): @@ -1321,6 +1322,10 @@ class GenericIE(InfoExtractor):          if sportbox_urls:              return _playlist_from_matches(sportbox_urls, ie='SportBoxEmbed') +        pornhub_url = PornHubIE._extract_url(webpage) +        if pornhub_url: +            return self.url_result(pornhub_url, 'PornHub') +          # Look for embedded Tvigle player          mobj = re.search(              r'<iframe[^>]+?src=(["\'])(?P<url>(?:https?:)?//cloud\.tvigle\.ru/video/.+?)\1', webpage) diff --git a/youtube_dl/extractor/pornhub.py b/youtube_dl/extractor/pornhub.py index 3c99b4def..8565d7551 100644 --- a/youtube_dl/extractor/pornhub.py +++ b/youtube_dl/extractor/pornhub.py @@ -32,6 +32,13 @@ class PornHubIE(InfoExtractor):          }      } +    @classmethod +    def _extract_url(cls, webpage): +        mobj = re.search( +            r'<iframe[^>]+?src=(["\'])(?P<url>(?:https?:)?//(?:www\.)?pornhub\.com/embed/\d+)\1', webpage) +        if mobj: +            return mobj.group('url') +      def _extract_count(self, pattern, webpage, name):          return str_to_int(self._search_regex(              pattern, webpage, '%s count' % name, fatal=False))  | 
