[extractor/pornhub] Extract uploader_id field (#4104)

Authored by: Lesmiscore
This commit is contained in:
Lesmiscore 2022-06-19 00:06:12 +09:00 committed by GitHub
parent 44a6fcff39
commit 4f2a58c9c5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -21,6 +21,7 @@
NO_DEFAULT, NO_DEFAULT,
orderedSet, orderedSet,
remove_quotes, remove_quotes,
remove_start,
str_to_int, str_to_int,
update_url_query, update_url_query,
urlencode_postdata, urlencode_postdata,
@ -198,6 +199,16 @@ class PornHubIE(PornHubBaseIE):
'skip_download': True, 'skip_download': True,
}, },
'skip': 'This video has been disabled', 'skip': 'This video has been disabled',
}, {
'url': 'http://www.pornhub.com/view_video.php?viewkey=ph601dc30bae19a',
'info_dict': {
'id': 'ph601dc30bae19a',
'uploader': 'Projekt Melody',
'uploader_id': 'projekt-melody',
'upload_date': '20210205',
'title': '"Welcome to My Pussy Mansion" - CB Stream (02/03/21)',
'thumbnail': r're:https?://.+',
},
}, { }, {
'url': 'http://www.pornhub.com/view_video.php?viewkey=ph557bbb6676d2d', 'url': 'http://www.pornhub.com/view_video.php?viewkey=ph557bbb6676d2d',
'only_matching': True, 'only_matching': True,
@ -457,9 +468,11 @@ def add_format(format_url, height=None):
self._sort_formats( self._sort_formats(
formats, field_preference=('height', 'width', 'fps', 'format_id')) formats, field_preference=('height', 'width', 'fps', 'format_id'))
model_profile = self._search_json(
r'var\s+MODEL_PROFILE\s*=', webpage, 'model profile', video_id, fatal=False)
video_uploader = self._html_search_regex( video_uploader = self._html_search_regex(
r'(?s)From:&nbsp;.+?<(?:a\b[^>]+\bhref=["\']/(?:(?:user|channel)s|model|pornstar)/|span\b[^>]+\bclass=["\']username)[^>]+>(.+?)<', r'(?s)From:&nbsp;.+?<(?:a\b[^>]+\bhref=["\']/(?:(?:user|channel)s|model|pornstar)/|span\b[^>]+\bclass=["\']username)[^>]+>(.+?)<',
webpage, 'uploader', default=None) webpage, 'uploader', default=None) or model_profile.get('username')
def extract_vote_count(kind, name): def extract_vote_count(kind, name):
return self._extract_count( return self._extract_count(
@ -488,6 +501,7 @@ def extract_list(meta_key):
return merge_dicts({ return merge_dicts({
'id': video_id, 'id': video_id,
'uploader': video_uploader, 'uploader': video_uploader,
'uploader_id': remove_start(model_profile.get('modelProfileLink'), '/model/'),
'upload_date': upload_date, 'upload_date': upload_date,
'title': title, 'title': title,
'thumbnail': thumbnail, 'thumbnail': thumbnail,