projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
78ef214
)
[pornhub] Fix extraction (closes #12007)
author
Thomas Christlieb
<thomaschristlieb@hotmail.com>
Wed, 8 Feb 2017 12:53:39 +0000
(13:53 +0100)
committer
Sergey M․
<dstftw@gmail.com>
Thu, 9 Feb 2017 17:56:12 +0000
(
00:56
+0700)
youtube_dl/extractor/pornhub.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/pornhub.py
b/youtube_dl/extractor/pornhub.py
index 017f6c55219ff3db0cf9bf745f74031882f12c54..5e930f45e0ac271a3c37e5bffa4a23f791a2ebf0 100644
(file)
--- a/
youtube_dl/extractor/pornhub.py
+++ b/
youtube_dl/extractor/pornhub.py
@@
-156,11
+156,24
@@
class PornHubIE(InfoExtractor):
comment_count = self._extract_count(
r'All Comments\s*<span>\(([\d,.]+)\)', webpage, 'comment')
comment_count = self._extract_count(
r'All Comments\s*<span>\(([\d,.]+)\)', webpage, 'comment')
+ video_variables = {}
+ for video_variablename, quote, video_variable in re.findall(
+ r'(player_quality_[0-9]{3,4}p[0-9a-z]+?)=\s*(["\'])(.*?)\2;', webpage):
+ video_variables[video_variablename] = video_variable
+
+ encoded_video_urls = []
+ for encoded_video_url in re.findall(
+ r'player_quality_[0-9]{3,4}p\s*=(.*?);', webpage):
+ encoded_video_urls.append(encoded_video_url)
+
+ # Decode the URLs
video_urls = []
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)))
+ for url in encoded_video_urls:
+ for varname, varval in video_variables.items():
+ url = url.replace(varname, varval)
+ url = url.replace('+', '')
+ url = url.replace(' ', '')
+ video_urls.append(url)
if webpage.find('"encrypted":true') != -1:
password = compat_urllib_parse_unquote_plus(
if webpage.find('"encrypted":true') != -1:
password = compat_urllib_parse_unquote_plus(