This commit is contained in:
Jason 2024-06-27 06:36:52 +08:00 committed by GitHub
commit f00033c05f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -60,6 +60,14 @@ class PornHubBaseIE(InfoExtractor):
def _real_initialize(self):
self._logged_in = False
def _set_age_cookies(self, host):
# The age verification cookie may have a different name based on the location.
# Setting multiple cookies doesn't seem to be big deal so we prefer that solution instead
# of guessing the right cookie out of an IP we don't currently have.
self._set_cookie(host, 'age_verified', '1')
self._set_cookie(host, 'accessAgeDisclaimerPH', '1')
self._set_cookie(host, 'accessPH', '1')
def _login(self, host):
if self._logged_in:
return
@ -264,11 +272,9 @@ class PornHubIE(PornHubBaseIE):
video_id = mobj.group('id')
self._login(host)
self._set_cookie(host, 'age_verified', '1')
self._set_age_cookies(host)
def dl_webpage(platform):
self._set_cookie(host, 'platform', platform)
return self._download_webpage(
'https://www.%s/view_video.php?viewkey=%s' % (host, video_id),
video_id, 'Downloading %s webpage' % platform)
@ -564,6 +570,7 @@ class PornHubUserIE(PornHubPlaylistBaseIE):
mobj = re.match(self._VALID_URL, url)
user_id = mobj.group('id')
videos_url = '%s/videos' % mobj.group('url')
self._set_age_cookies(mobj.group('host'))
page = self._extract_page(url)
if page:
videos_url = update_url_query(videos_url, {'page': page})
@ -628,6 +635,7 @@ class PornHubPagedPlaylistBaseIE(PornHubPlaylistBaseIE):
item_id = mobj.group('id')
self._login(host)
self._set_age_cookies(host)
return self.playlist_result(self._entries(url, host, item_id), item_id)