|
|
|
@ -30,6 +30,7 @@ from ..utils import (
|
|
|
|
|
|
|
|
|
|
class PornHubBaseIE(InfoExtractor):
|
|
|
|
|
_NETRC_MACHINE = 'pornhub'
|
|
|
|
|
_PORNHUB_HOST_RE = r'(?:(?P<host>pornhub(?:premium)?\.(?:com|net|org))|pornhubthbh7ap3u\.onion)'
|
|
|
|
|
|
|
|
|
|
def _download_webpage_handle(self, *args, **kwargs):
|
|
|
|
|
def dl(*args, **kwargs):
|
|
|
|
@ -122,11 +123,13 @@ class PornHubIE(PornHubBaseIE):
|
|
|
|
|
_VALID_URL = r'''(?x)
|
|
|
|
|
https?://
|
|
|
|
|
(?:
|
|
|
|
|
(?:[^/]+\.)?(?P<host>pornhub(?:premium)?\.(?:com|net|org))/(?:(?:view_video\.php|video/show)\?viewkey=|embed/)|
|
|
|
|
|
(?:[^/]+\.)?
|
|
|
|
|
%s
|
|
|
|
|
/(?:(?:view_video\.php|video/show)\?viewkey=|embed/)|
|
|
|
|
|
(?:www\.)?thumbzilla\.com/video/
|
|
|
|
|
)
|
|
|
|
|
(?P<id>[\da-z]+)
|
|
|
|
|
'''
|
|
|
|
|
''' % PornHubBaseIE._PORNHUB_HOST_RE
|
|
|
|
|
_TESTS = [{
|
|
|
|
|
'url': 'http://www.pornhub.com/view_video.php?viewkey=648719015',
|
|
|
|
|
'md5': 'a6391306d050e4547f62b3f485dd9ba9',
|
|
|
|
@ -240,6 +243,9 @@ class PornHubIE(PornHubBaseIE):
|
|
|
|
|
# geo restricted
|
|
|
|
|
'url': 'https://www.pornhub.com/view_video.php?viewkey=ph5a9813bfa7156',
|
|
|
|
|
'only_matching': True,
|
|
|
|
|
}, {
|
|
|
|
|
'url': 'http://pornhubthbh7ap3u.onion/view_video.php?viewkey=ph5a9813bfa7156',
|
|
|
|
|
'only_matching': True,
|
|
|
|
|
}]
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
@ -520,7 +526,7 @@ class PornHubPlaylistBaseIE(PornHubBaseIE):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PornHubUserIE(PornHubPlaylistBaseIE):
|
|
|
|
|
_VALID_URL = r'(?P<url>https?://(?:[^/]+\.)?(?P<host>pornhub(?:premium)?\.(?:com|net|org))/(?:(?:user|channel)s|model|pornstar)/(?P<id>[^/?#&]+))(?:[?#&]|/(?!videos)|$)'
|
|
|
|
|
_VALID_URL = r'(?P<url>https?://(?:[^/]+\.)?%s/(?:(?:user|channel)s|model|pornstar)/(?P<id>[^/?#&]+))(?:[?#&]|/(?!videos)|$)' % PornHubBaseIE._PORNHUB_HOST_RE
|
|
|
|
|
_TESTS = [{
|
|
|
|
|
'url': 'https://www.pornhub.com/model/zoe_ph',
|
|
|
|
|
'playlist_mincount': 118,
|
|
|
|
@ -549,6 +555,9 @@ class PornHubUserIE(PornHubPlaylistBaseIE):
|
|
|
|
|
# Same as before, multi page
|
|
|
|
|
'url': 'https://www.pornhubpremium.com/pornstar/lily-labeau',
|
|
|
|
|
'only_matching': True,
|
|
|
|
|
}, {
|
|
|
|
|
'url': 'https://pornhubthbh7ap3u.onion/model/zoe_ph',
|
|
|
|
|
'only_matching': True,
|
|
|
|
|
}]
|
|
|
|
|
|
|
|
|
|
def _real_extract(self, url):
|
|
|
|
@ -624,7 +633,7 @@ class PornHubPagedPlaylistBaseIE(PornHubPlaylistBaseIE):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PornHubPagedVideoListIE(PornHubPagedPlaylistBaseIE):
|
|
|
|
|
_VALID_URL = r'https?://(?:[^/]+\.)?(?P<host>pornhub(?:premium)?\.(?:com|net|org))/(?P<id>(?:[^/]+/)*[^/?#&]+)'
|
|
|
|
|
_VALID_URL = r'https?://(?:[^/]+\.)?%s/(?P<id>(?:[^/]+/)*[^/?#&]+)' % PornHubBaseIE._PORNHUB_HOST_RE
|
|
|
|
|
_TESTS = [{
|
|
|
|
|
'url': 'https://www.pornhub.com/model/zoe_ph/videos',
|
|
|
|
|
'only_matching': True,
|
|
|
|
@ -729,6 +738,9 @@ class PornHubPagedVideoListIE(PornHubPagedPlaylistBaseIE):
|
|
|
|
|
}, {
|
|
|
|
|
'url': 'https://de.pornhub.com/playlist/4667351',
|
|
|
|
|
'only_matching': True,
|
|
|
|
|
}, {
|
|
|
|
|
'url': 'https://pornhubthbh7ap3u.onion/model/zoe_ph/videos',
|
|
|
|
|
'only_matching': True,
|
|
|
|
|
}]
|
|
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
@ -739,7 +751,7 @@ class PornHubPagedVideoListIE(PornHubPagedPlaylistBaseIE):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PornHubUserVideosUploadIE(PornHubPagedPlaylistBaseIE):
|
|
|
|
|
_VALID_URL = r'(?P<url>https?://(?:[^/]+\.)?(?P<host>pornhub(?:premium)?\.(?:com|net|org))/(?:(?:user|channel)s|model|pornstar)/(?P<id>[^/]+)/videos/upload)'
|
|
|
|
|
_VALID_URL = r'(?P<url>https?://(?:[^/]+\.)?%s/(?:(?:user|channel)s|model|pornstar)/(?P<id>[^/]+)/videos/upload)' % PornHubBaseIE._PORNHUB_HOST_RE
|
|
|
|
|
_TESTS = [{
|
|
|
|
|
'url': 'https://www.pornhub.com/pornstar/jenny-blighe/videos/upload',
|
|
|
|
|
'info_dict': {
|
|
|
|
@ -749,4 +761,7 @@ class PornHubUserVideosUploadIE(PornHubPagedPlaylistBaseIE):
|
|
|
|
|
}, {
|
|
|
|
|
'url': 'https://www.pornhub.com/model/zoe_ph/videos/upload',
|
|
|
|
|
'only_matching': True,
|
|
|
|
|
}, {
|
|
|
|
|
'url': 'http://pornhubthbh7ap3u.onion/pornstar/jenny-blighe/videos/upload',
|
|
|
|
|
'only_matching': True,
|
|
|
|
|
}]
|
|
|
|
|