[xhamster] Added support for mobile site; fixed thumbnails and tests
This commit is contained in:
parent
38db52adf3
commit
d75767a0e6
@ -1302,6 +1302,7 @@ from .xfileshare import XFileShareIE
|
|||||||
from .xhamster import (
|
from .xhamster import (
|
||||||
XHamsterIE,
|
XHamsterIE,
|
||||||
XHamsterEmbedIE,
|
XHamsterEmbedIE,
|
||||||
|
XHamsterMobileIE,
|
||||||
)
|
)
|
||||||
from .xiami import (
|
from .xiami import (
|
||||||
XiamiSongIE,
|
XiamiSongIE,
|
||||||
|
@ -14,15 +14,19 @@ from ..utils import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class XHamsterIE(InfoExtractor):
|
class XHamsterBase(InfoExtractor):
|
||||||
_VALID_URL = r'''(?x)
|
_VALID_URL_TEMPLATE = r'''(?x)
|
||||||
https?://
|
https?://
|
||||||
(?:.+?\.)?xhamster\.com/
|
(?:(?:www|[a-z]{2})\.)?%sxhamster\.com/
|
||||||
(?:
|
(?:
|
||||||
movies/(?P<id>\d+)/(?P<display_id>[^/]*)\.html|
|
movies/(?P<id>\d+)/(?P<display_id>[^/]*)\.html|
|
||||||
videos/(?P<display_id_2>[^/]*)-(?P<id_2>\d+)
|
videos/(?P<display_id_2>[^/]*)-(?P<id_2>\d+)
|
||||||
)
|
)
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
class XHamsterIE(XHamsterBase):
|
||||||
|
_VALID_URL = XHamsterBase._VALID_URL_TEMPLATE % ''
|
||||||
|
|
||||||
_TESTS = [{
|
_TESTS = [{
|
||||||
'url': 'http://xhamster.com/movies/1509445/femaleagent_shy_beauty_takes_the_bait.html',
|
'url': 'http://xhamster.com/movies/1509445/femaleagent_shy_beauty_takes_the_bait.html',
|
||||||
@ -148,8 +152,8 @@ class XHamsterIE(InfoExtractor):
|
|||||||
webpage, 'uploader', default='anonymous')
|
webpage, 'uploader', default='anonymous')
|
||||||
|
|
||||||
thumbnail = self._search_regex(
|
thumbnail = self._search_regex(
|
||||||
[r'''thumb\s*:\s*(?P<q>["'])(?P<thumbnail>.+?)(?P=q)''',
|
[r'''["']thumbUrl["']\s*:\s*(?P<q>["'])(?P<thumbnail>.+?)(?P=q)''',
|
||||||
r'''<video[^>]+poster=(?P<q>["'])(?P<thumbnail>.+?)(?P=q)[^>]*>'''],
|
r'''<video[^>]+"poster"=(?P<q>["'])(?P<thumbnail>.+?)(?P=q)[^>]*>'''],
|
||||||
webpage, 'thumbnail', fatal=False, group='thumbnail')
|
webpage, 'thumbnail', fatal=False, group='thumbnail')
|
||||||
|
|
||||||
duration = parse_duration(self._search_regex(
|
duration = parse_duration(self._search_regex(
|
||||||
@ -195,7 +199,7 @@ class XHamsterIE(InfoExtractor):
|
|||||||
|
|
||||||
|
|
||||||
class XHamsterEmbedIE(InfoExtractor):
|
class XHamsterEmbedIE(InfoExtractor):
|
||||||
_VALID_URL = r'https?://(?:www\.)?xhamster\.com/xembed\.php\?video=(?P<id>\d+)'
|
_VALID_URL = r'https?://(?:(?:www|[a-z]{2})\.)?xhamster\.com/xembed\.php\?video=(?P<id>\d+)'
|
||||||
_TEST = {
|
_TEST = {
|
||||||
'url': 'http://xhamster.com/xembed.php?video=3328539',
|
'url': 'http://xhamster.com/xembed.php?video=3328539',
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
@ -203,7 +207,7 @@ class XHamsterEmbedIE(InfoExtractor):
|
|||||||
'ext': 'mp4',
|
'ext': 'mp4',
|
||||||
'title': 'Pen Masturbation',
|
'title': 'Pen Masturbation',
|
||||||
'upload_date': '20140728',
|
'upload_date': '20140728',
|
||||||
'uploader_id': 'anonymous',
|
'uploader': 'ManyakisArt',
|
||||||
'duration': 5,
|
'duration': 5,
|
||||||
'age_limit': 18,
|
'age_limit': 18,
|
||||||
}
|
}
|
||||||
@ -231,3 +235,30 @@ class XHamsterEmbedIE(InfoExtractor):
|
|||||||
video_url = dict_get(vars, ('downloadLink', 'homepageLink', 'commentsLink', 'shareUrl'))
|
video_url = dict_get(vars, ('downloadLink', 'homepageLink', 'commentsLink', 'shareUrl'))
|
||||||
|
|
||||||
return self.url_result(video_url, 'XHamster')
|
return self.url_result(video_url, 'XHamster')
|
||||||
|
|
||||||
|
|
||||||
|
class XHamsterMobileIE(XHamsterBase):
|
||||||
|
_VALID_URL = XHamsterBase._VALID_URL_TEMPLATE % 'm\.'
|
||||||
|
|
||||||
|
_TEST = {
|
||||||
|
'url': 'https://m.xhamster.com/videos/cute-teen-jacqueline-solo-masturbation-8559111',
|
||||||
|
'md5': 'e863ca8b0cc2e3d03ba3ef3c6288207c',
|
||||||
|
'info_dict': {
|
||||||
|
'id': '8559111',
|
||||||
|
'display_id': 'cute-teen-jacqueline-solo-masturbation',
|
||||||
|
'ext': 'mp4',
|
||||||
|
'title': 'Cute Teen Jacqueline Solo Masturbation',
|
||||||
|
'description': str,
|
||||||
|
'upload_date': '20171117',
|
||||||
|
'uploader': '10tz4d0114r5',
|
||||||
|
'duration': 395,
|
||||||
|
'age_limit': 18,
|
||||||
|
'categories': ['Teen Dreams Channel', 'Amateur', 'Fingering', 'HD Videos', 'Masturbation', 'Small Tits',
|
||||||
|
'Teens', 'Cute Teen', 'Solo', 'Solo Masturbation']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def _real_extract(self, url):
|
||||||
|
desktop_url = re.sub(r'^(https?://(?:(?:www|[a-z]{2})\.)?)m\.', r'\1', url)
|
||||||
|
|
||||||
|
return self.url_result(desktop_url, 'XHamster')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user