about summary refs log tree commit diff
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.gz
youtube-dl-4938c8d5730fd0db9eee977f94052c0058e407f0.tar.xz
youtube-dl-4938c8d5730fd0db9eee977f94052c0058e407f0.zip
[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,
         }