|
|
@ -52,7 +52,7 @@ class PornHubIE(PornHubBaseIE): |
|
|
|
_VALID_URL = r'''(?x) |
|
|
|
https?:// |
|
|
|
(?: |
|
|
|
(?:[^/]+\.)?(?P<host>pornhub\.(?:com|net))/(?:(?:view_video\.php|video/show)\?viewkey=|embed/)| |
|
|
|
(?:[^/]+\.)?(?P<host>pornhub(?:premium)?\.(?:com|net))/(?:(?:view_video\.php|video/show)\?viewkey=|embed/)| |
|
|
|
(?:www\.)?thumbzilla\.com/video/ |
|
|
|
) |
|
|
|
(?P<id>[\da-z]+) |
|
|
@ -149,6 +149,9 @@ class PornHubIE(PornHubBaseIE): |
|
|
|
}, { |
|
|
|
'url': 'https://www.pornhub.net/view_video.php?viewkey=203640933', |
|
|
|
'only_matching': True, |
|
|
|
}, { |
|
|
|
'url': 'https://www.pornhubpremium.com/view_video.php?viewkey=ph5e4acdae54a82', |
|
|
|
'only_matching': True, |
|
|
|
}] |
|
|
|
|
|
|
|
@staticmethod |
|
|
@ -166,6 +169,13 @@ class PornHubIE(PornHubBaseIE): |
|
|
|
host = mobj.group('host') or 'pornhub.com' |
|
|
|
video_id = mobj.group('id') |
|
|
|
|
|
|
|
if 'premium' in host: |
|
|
|
if not self._downloader.params.get('cookiefile'): |
|
|
|
raise ExtractorError( |
|
|
|
'PornHub Premium requires authentication.' |
|
|
|
' You may want to use --cookies.', |
|
|
|
expected=True) |
|
|
|
|
|
|
|
self._set_cookie(host, 'age_verified', '1') |
|
|
|
|
|
|
|
def dl_webpage(platform): |
|
|
@ -405,7 +415,7 @@ class PornHubPlaylistBaseIE(PornHubBaseIE): |
|
|
|
|
|
|
|
|
|
|
|
class PornHubUserIE(PornHubPlaylistBaseIE): |
|
|
|
_VALID_URL = r'(?P<url>https?://(?:[^/]+\.)?pornhub\.(?:com|net)/(?:(?:user|channel)s|model|pornstar)/(?P<id>[^/?#&]+))(?:[?#&]|/(?!videos)|$)' |
|
|
|
_VALID_URL = r'(?P<url>https?://(?:[^/]+\.)?(?P<host>pornhub(?:premium)?\.(?:com|net))/(?:(?:user|channel)s|model|pornstar)/(?P<id>[^/?#&]+))(?:[?#&]|/(?!videos)|$)' |
|
|
|
_TESTS = [{ |
|
|
|
'url': 'https://www.pornhub.com/model/zoe_ph', |
|
|
|
'playlist_mincount': 118, |
|
|
@ -473,7 +483,7 @@ class PornHubPagedPlaylistBaseIE(PornHubPlaylistBaseIE): |
|
|
|
|
|
|
|
|
|
|
|
class PornHubPagedVideoListIE(PornHubPagedPlaylistBaseIE): |
|
|
|
_VALID_URL = r'https?://(?:[^/]+\.)?(?P<host>pornhub\.(?:com|net))/(?P<id>(?:[^/]+/)*[^/?#&]+)' |
|
|
|
_VALID_URL = r'https?://(?:[^/]+\.)?(?P<host>pornhub(?:premium)?\.(?:com|net))/(?P<id>(?:[^/]+/)*[^/?#&]+)' |
|
|
|
_TESTS = [{ |
|
|
|
'url': 'https://www.pornhub.com/model/zoe_ph/videos', |
|
|
|
'only_matching': True, |
|
|
@ -588,7 +598,7 @@ class PornHubPagedVideoListIE(PornHubPagedPlaylistBaseIE): |
|
|
|
|
|
|
|
|
|
|
|
class PornHubUserVideosUploadIE(PornHubPagedPlaylistBaseIE): |
|
|
|
_VALID_URL = r'(?P<url>https?://(?:[^/]+\.)?(?P<host>pornhub\.(?:com|net))/(?:(?:user|channel)s|model|pornstar)/(?P<id>[^/]+)/videos/upload)' |
|
|
|
_VALID_URL = r'(?P<url>https?://(?:[^/]+\.)?(?P<host>pornhub(?:premium)?\.(?:com|net))/(?:(?:user|channel)s|model|pornstar)/(?P<id>[^/]+)/videos/upload)' |
|
|
|
_TESTS = [{ |
|
|
|
'url': 'https://www.pornhub.com/pornstar/jenny-blighe/videos/upload', |
|
|
|
'info_dict': { |
|
|
|