summary refs log tree commit diff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2015-09-20 11:45:19 +0600
committerSergey M․ <dstftw@gmail.com>2015-09-20 11:45:19 +0600
commit393ca8c94d1adb1490b23265370ce69043b92546 (patch)
treef847157c4af9c47467969e43f001d48dd53ef353
parentf817adc4689a2064fcab733d6aebf83fd0e2cff7 (diff)
downloadyoutube-dl-393ca8c94d1adb1490b23265370ce69043b92546.tar.gz
youtube-dl-393ca8c94d1adb1490b23265370ce69043b92546.tar.xz
youtube-dl-393ca8c94d1adb1490b23265370ce69043b92546.zip
[arte:+7] Look for json vp url in iframe (Closes #6895)
-rw-r--r--youtube_dl/extractor/arte.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/youtube_dl/extractor/arte.py b/youtube_dl/extractor/arte.py
index 76de24477..9ecb6786c 100644
--- a/youtube_dl/extractor/arte.py
+++ b/youtube_dl/extractor/arte.py
@@ -4,6 +4,10 @@ from __future__ import unicode_literals
 import re
 
 from .common import InfoExtractor
+from ..compat import (
+    compat_parse_qs,
+    compat_urllib_parse_urlparse,
+)
 from ..utils import (
     find_xpath_attr,
     unified_strdate,
@@ -77,7 +81,13 @@ class ArteTVPlus7IE(InfoExtractor):
     def _extract_from_webpage(self, webpage, video_id, lang):
         json_url = self._html_search_regex(
             [r'arte_vp_url=["\'](.*?)["\']', r'data-url=["\']([^"]+)["\']'],
-            webpage, 'json vp url')
+            webpage, 'json vp url', default=None)
+        if not json_url:
+            iframe_url = self._html_search_regex(
+                r'<iframe[^>]+src=(["\'])(?P<url>.+\bjson_url=.+?)\1',
+                webpage, 'iframe url', group='iframe url')
+            json_url = compat_parse_qs(
+                compat_urllib_parse_urlparse(iframe_url).query)['json_url'][0]
         return self._extract_from_json_url(json_url, video_id, lang)
 
     def _extract_from_json_url(self, json_url, video_id, lang):