[pornhub] Fix downloading of unwanted videos from user page (issue#12818)
This commit is contained in:
parent
ef7f27ae73
commit
dcb633a102
@ -22,7 +22,6 @@ from ..utils import (
|
|||||||
# sanitized_Request,
|
# sanitized_Request,
|
||||||
remove_quotes,
|
remove_quotes,
|
||||||
str_to_int,
|
str_to_int,
|
||||||
bug_reports_message,
|
|
||||||
)
|
)
|
||||||
# from ..aes import (
|
# from ..aes import (
|
||||||
# aes_decrypt_text
|
# aes_decrypt_text
|
||||||
@ -288,18 +287,6 @@ class PornHubUserVideosIE(PornHubPlaylistBaseIE):
|
|||||||
'only_matching': True,
|
'only_matching': True,
|
||||||
}]
|
}]
|
||||||
|
|
||||||
def _filter_user_vids(self, webpage):
|
|
||||||
# PornHub sends (un-rendered) related videos as part of the userlist webpage.
|
|
||||||
# Omit everything before the userlist to avoid downloading unnecessary videos.
|
|
||||||
user_list_start = webpage.find('<div class="videoUList">')
|
|
||||||
if user_list_start >= 0:
|
|
||||||
return webpage[user_list_start:]
|
|
||||||
|
|
||||||
# Getting here means PornHub changed layout of the user page.
|
|
||||||
self.report_warning("Could not find start of user's upload list, "
|
|
||||||
"downloading all videos in webpage%s" % bug_reports_message())
|
|
||||||
return webpage
|
|
||||||
|
|
||||||
def _real_extract(self, url):
|
def _real_extract(self, url):
|
||||||
user_id = self._match_id(url)
|
user_id = self._match_id(url)
|
||||||
|
|
||||||
@ -313,8 +300,16 @@ class PornHubUserVideosIE(PornHubPlaylistBaseIE):
|
|||||||
if isinstance(e.cause, compat_HTTPError) and e.cause.code == 404:
|
if isinstance(e.cause, compat_HTTPError) and e.cause.code == 404:
|
||||||
break
|
break
|
||||||
raise
|
raise
|
||||||
webpage = self._filter_user_vids(webpage)
|
|
||||||
page_entries = self._extract_entries(webpage)
|
# PornHub sends related videos as part of the uploaded videos webpage.
|
||||||
|
# Omit everything before the uploaded videos section to avoid
|
||||||
|
# downloading unnecessary videos.
|
||||||
|
# See: https://github.com/rg3/youtube-dl/issues/12819
|
||||||
|
upload_list = self._search_regex(
|
||||||
|
r'(?s)(<div[^>]+class=["\']videoUList.+)',
|
||||||
|
webpage, 'upload_list', default=webpage)
|
||||||
|
|
||||||
|
page_entries = self._extract_entries(upload_list)
|
||||||
if not page_entries:
|
if not page_entries:
|
||||||
break
|
break
|
||||||
entries.extend(page_entries)
|
entries.extend(page_entries)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user