diff options
| -rw-r--r-- | youtube_dl/extractor/__init__.py | 5 | ||||
| -rw-r--r-- | youtube_dl/extractor/xhamster.py | 28 | 
2 files changed, 31 insertions, 2 deletions
| diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index bd3c3193f..dc1a302e6 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -701,7 +701,10 @@ from .wrzuta import WrzutaIE  from .wsj import WSJIE  from .xbef import XBefIE  from .xboxclips import XboxClipsIE -from .xhamster import XHamsterIE +from .xhamster import ( +    XHamsterIE, +    XHamsterEmbedIE, +)  from .xminus import XMinusIE  from .xnxx import XNXXIE  from .xstream import XstreamIE diff --git a/youtube_dl/extractor/xhamster.py b/youtube_dl/extractor/xhamster.py index 4527567f8..ae3c5962b 100644 --- a/youtube_dl/extractor/xhamster.py +++ b/youtube_dl/extractor/xhamster.py @@ -13,7 +13,6 @@ from ..utils import (  class XHamsterIE(InfoExtractor): -    """Information Extractor for xHamster"""      _VALID_URL = r'(?P<proto>https?)://(?:.+?\.)?xhamster\.com/movies/(?P<id>[0-9]+)/(?P<seo>.+?)\.html(?:\?.*)?'      _TESTS = [          { @@ -133,3 +132,30 @@ class XHamsterIE(InfoExtractor):              'age_limit': age_limit,              'formats': formats,          } + + +class XHamsterEmbedIE(InfoExtractor): +    _VALID_URL = r'https?://(?:www\.)?xhamster\.com/xembed\.php\?video=(?P<id>\d+)' +    _TEST = { +        'url': 'http://xhamster.com/xembed.php?video=3328539', +        'info_dict': { +            'id': '3328539', +            'ext': 'mp4', +            'title': 'Pen Masturbation', +            'upload_date': '20140728', +            'uploader_id': 'anonymous', +            'duration': 5, +            'age_limit': 18, +        } +    } + +    def _real_extract(self, url): +        video_id = self._match_id(url) + +        webpage = self._download_webpage(url, video_id) + +        video_url = self._search_regex( +            r'href="(https?://xhamster\.com/movies/%s/[^"]+\.html[^"]*)"' % video_id, +            webpage, 'xhamster url') + +        return self.url_result(video_url, 'XHamster'); | 
