mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-21 20:46:36 -05:00
[pornhub] Add support for subtitles (closes #16924)
This commit is contained in:
parent
1a88fc5a69
commit
4938c8d573
1 changed files with 34 additions and 0 deletions
|
@ -18,6 +18,7 @@
|
||||||
orderedSet,
|
orderedSet,
|
||||||
remove_quotes,
|
remove_quotes,
|
||||||
str_to_int,
|
str_to_int,
|
||||||
|
url_or_none,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -68,6 +69,31 @@ class PornHubIE(InfoExtractor):
|
||||||
'params': {
|
'params': {
|
||||||
'skip_download': True,
|
'skip_download': True,
|
||||||
},
|
},
|
||||||
|
}, {
|
||||||
|
# subtitles
|
||||||
|
'url': 'https://www.pornhub.com/view_video.php?viewkey=ph5af5fef7c2aa7',
|
||||||
|
'info_dict': {
|
||||||
|
'id': 'ph5af5fef7c2aa7',
|
||||||
|
'ext': 'mp4',
|
||||||
|
'title': 'BFFS - Cute Teen Girls Share Cock On the Floor',
|
||||||
|
'uploader': 'BFFs',
|
||||||
|
'duration': 622,
|
||||||
|
'view_count': int,
|
||||||
|
'like_count': int,
|
||||||
|
'dislike_count': int,
|
||||||
|
'comment_count': int,
|
||||||
|
'age_limit': 18,
|
||||||
|
'tags': list,
|
||||||
|
'categories': list,
|
||||||
|
'subtitles': {
|
||||||
|
'en': [{
|
||||||
|
"ext": 'srt'
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'params': {
|
||||||
|
'skip_download': True,
|
||||||
|
},
|
||||||
}, {
|
}, {
|
||||||
'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,
|
||||||
|
@ -139,12 +165,19 @@ def dl_webpage(platform):
|
||||||
|
|
||||||
video_urls = []
|
video_urls = []
|
||||||
video_urls_set = set()
|
video_urls_set = set()
|
||||||
|
subtitles = {}
|
||||||
|
|
||||||
flashvars = self._parse_json(
|
flashvars = self._parse_json(
|
||||||
self._search_regex(
|
self._search_regex(
|
||||||
r'var\s+flashvars_\d+\s*=\s*({.+?});', webpage, 'flashvars', default='{}'),
|
r'var\s+flashvars_\d+\s*=\s*({.+?});', webpage, 'flashvars', default='{}'),
|
||||||
video_id)
|
video_id)
|
||||||
if flashvars:
|
if flashvars:
|
||||||
|
subtitle_url = url_or_none(flashvars.get('closedCaptionsFile'))
|
||||||
|
if subtitle_url:
|
||||||
|
subtitles.setdefault('en', []).append({
|
||||||
|
'url': subtitle_url,
|
||||||
|
'ext': 'srt',
|
||||||
|
})
|
||||||
thumbnail = flashvars.get('image_url')
|
thumbnail = flashvars.get('image_url')
|
||||||
duration = int_or_none(flashvars.get('video_duration'))
|
duration = int_or_none(flashvars.get('video_duration'))
|
||||||
media_definitions = flashvars.get('mediaDefinitions')
|
media_definitions = flashvars.get('mediaDefinitions')
|
||||||
|
@ -256,6 +289,7 @@ def parse_js_value(inp):
|
||||||
'age_limit': 18,
|
'age_limit': 18,
|
||||||
'tags': tags,
|
'tags': tags,
|
||||||
'categories': categories,
|
'categories': categories,
|
||||||
|
'subtitles': subtitles,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue