aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLesmiscore <nao20010128@gmail.com>2022-06-19 00:06:12 +0900
committerGitHub <noreply@github.com>2022-06-19 00:06:12 +0900
commit4f2a58c9c57093d4a305e505ddf30f945b240416 (patch)
treeea5520c748f54113cf1ddd738f5a6680cc14cfe1
parent44a6fcff397e98b4aa7e3bb1da7425b3cca05a71 (diff)
downloadhypervideo-pre-4f2a58c9c57093d4a305e505ddf30f945b240416.tar.lz
hypervideo-pre-4f2a58c9c57093d4a305e505ddf30f945b240416.tar.xz
hypervideo-pre-4f2a58c9c57093d4a305e505ddf30f945b240416.zip
[extractor/pornhub] Extract `uploader_id` field (#4104)
Authored by: Lesmiscore
-rw-r--r--yt_dlp/extractor/pornhub.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/yt_dlp/extractor/pornhub.py b/yt_dlp/extractor/pornhub.py
index 1d58876e8..023b5f3b9 100644
--- a/yt_dlp/extractor/pornhub.py
+++ b/yt_dlp/extractor/pornhub.py
@@ -21,6 +21,7 @@ from ..utils import (
NO_DEFAULT,
orderedSet,
remove_quotes,
+ remove_start,
str_to_int,
update_url_query,
urlencode_postdata,
@@ -199,6 +200,16 @@ class PornHubIE(PornHubBaseIE):
},
'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',
'only_matching': True,
}, {
@@ -457,9 +468,11 @@ class PornHubIE(PornHubBaseIE):
self._sort_formats(
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(
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):
return self._extract_count(
@@ -488,6 +501,7 @@ class PornHubIE(PornHubBaseIE):
return merge_dicts({
'id': video_id,
'uploader': video_uploader,
+ 'uploader_id': remove_start(model_profile.get('modelProfileLink'), '/model/'),
'upload_date': upload_date,
'title': title,
'thumbnail': thumbnail,