aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiuseppe Fabiano <gfabiano40@gmail.com>2018-07-29 01:24:10 +0200
committerSergey M <dstftw@gmail.com>2018-07-29 06:24:10 +0700
commit4938c8d5730fd0db9eee977f94052c0058e407f0 (patch)
tree175ab5be4efcabcd6ddcd09ab0810215a2dcb7f4
parent1a88fc5a69249a6c36ce5dbb6e5d251792ab6f39 (diff)
downloadyoutube-dl-4938c8d5730fd0db9eee977f94052c0058e407f0.tar.xz
[pornhub] Add support for subtitles (closes #16924)
-rw-r--r--youtube_dl/extractor/pornhub.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/youtube_dl/extractor/pornhub.py b/youtube_dl/extractor/pornhub.py
index 97f988da4..ffc4405a8 100644
--- a/youtube_dl/extractor/pornhub.py
+++ b/youtube_dl/extractor/pornhub.py
@@ -18,6 +18,7 @@ from ..utils import (
orderedSet,
remove_quotes,
str_to_int,
+ url_or_none,
)
@@ -69,6 +70,31 @@ class PornHubIE(InfoExtractor):
'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',
'only_matching': True,
}, {
@@ -139,12 +165,19 @@ class PornHubIE(InfoExtractor):
video_urls = []
video_urls_set = set()
+ subtitles = {}
flashvars = self._parse_json(
self._search_regex(
r'var\s+flashvars_\d+\s*=\s*({.+?});', webpage, 'flashvars', default='{}'),
video_id)
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')
duration = int_or_none(flashvars.get('video_duration'))
media_definitions = flashvars.get('mediaDefinitions')
@@ -256,6 +289,7 @@ class PornHubIE(InfoExtractor):
'age_limit': 18,
'tags': tags,
'categories': categories,
+ 'subtitles': subtitles,
}