aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukáš Lalinský <lukas@oxygene.sk>2015-10-17 18:18:40 +0200
committerLukáš Lalinský <lukas@oxygene.sk>2015-10-17 18:30:56 +0200
commit41a7b00f183844e93ae2ba46fb4021f257f3ce79 (patch)
tree9b28f245660745ee23a5dddc094a691e95520dd0
parent350c9481336ac981eadc982b67ccdbc7e28ca0e3 (diff)
downloadyoutube-dl-41a7b00f183844e93ae2ba46fb4021f257f3ce79.tar.xz
[vimeo] Extract config URL from (new?) React-based Vimeo's page
-rw-r--r--youtube_dl/extractor/vimeo.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/youtube_dl/extractor/vimeo.py b/youtube_dl/extractor/vimeo.py
index fa1b22049..88e462a4d 100644
--- a/youtube_dl/extractor/vimeo.py
+++ b/youtube_dl/extractor/vimeo.py
@@ -286,7 +286,14 @@ class VimeoIE(VimeoBaseInfoExtractor):
try:
try:
config_url = self._html_search_regex(
- r' data-config-url="(.+?)"', webpage, 'config URL')
+ r' data-config-url="(.+?)"', webpage,
+ 'config URL', default=None)
+ if not config_url:
+ # New react-based page
+ vimeo_clip_page_config = self._search_regex(
+ r'vimeo\.clip_page_config\s*=\s*({.+?});', webpage,
+ 'vimeo clip page config')
+ config_url = self._parse_json(vimeo_clip_page_config, video_id)['player']['config_url']
config_json = self._download_webpage(config_url, video_id)
config = json.loads(config_json)
except RegexNotFoundError: