summary refs log tree commit diff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2017-02-07 01:52:59 +0700
committerSergey M․ <dstftw@gmail.com>2017-02-07 01:52:59 +0700
commitf28aeff26416515fbaf46ce087e8332a15958c23 (patch)
tree1ce66d7457d163466589575fdb25c484ae878999
parent242a14a1f6ea14b8e7de9aa1eddaf938de825e1e (diff)
downloadyoutube-dl-f28aeff26416515fbaf46ce087e8332a15958c23.tar.gz
youtube-dl-f28aeff26416515fbaf46ce087e8332a15958c23.tar.xz
youtube-dl-f28aeff26416515fbaf46ce087e8332a15958c23.zip
[pornhub] Fix extraction (closes #11997)
-rw-r--r--youtube_dl/extractor/pornhub.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/youtube_dl/extractor/pornhub.py b/youtube_dl/extractor/pornhub.py
index 3eaf56973..017f6c552 100644
--- a/youtube_dl/extractor/pornhub.py
+++ b/youtube_dl/extractor/pornhub.py
@@ -156,7 +156,12 @@ class PornHubIE(InfoExtractor):
         comment_count = self._extract_count(
             r'All Comments\s*<span>\(([\d,.]+)\)', webpage, 'comment')
 
-        video_urls = list(map(compat_urllib_parse_unquote, re.findall(r"player_quality_[0-9]{3}p\s*=\s*'([^']+)'", webpage)))
+        video_urls = []
+        for quote, video_url in re.findall(
+                r'player_quality_[0-9]{3,4}p\s*=\s*(["\'])(.+?)\1;', webpage):
+            video_urls.append(compat_urllib_parse_unquote(re.sub(
+                r'{0}\s*\+\s*{0}'.format(quote), '', video_url)))
+
         if webpage.find('"encrypted":true') != -1:
             password = compat_urllib_parse_unquote_plus(
                 self._search_regex(r'"video_title":"([^"]+)', webpage, 'password'))