Browse Source

ArteTVIE: support emission urls that don't contain the video id

Like http://www.arte.tv/guide/fr/emissions/AJT/arte-journal
Jaime Marquínez Ferrándiz 12 years ago
parent
commit
9941ceb331
1 changed files with 6 additions and 1 deletions
  1. 6 1
      youtube_dl/extractor/arte.py

+ 6 - 1
youtube_dl/extractor/arte.py

@@ -77,7 +77,12 @@ class ArteTvIE(InfoExtractor):
 
 
     def _extract_emission(self, url, video_id, lang):
     def _extract_emission(self, url, video_id, lang):
         """Extract from www.arte.tv/guide"""
         """Extract from www.arte.tv/guide"""
-        json_url = 'http://org-www.arte.tv/papi/tvguide/videos/stream/player/F/%s_PLUS7-F/ALL/ALL.json' % video_id
+        if video_id.replace('-','').isdigit():
+            json_url = 'http://org-www.arte.tv/papi/tvguide/videos/stream/player/F/%s_PLUS7-F/ALL/ALL.json' % video_id
+        else:
+            # We don't know the real id of the video, we have to search in the webpage
+            webpage = self._download_webpage(url, video_id)
+            json_url = self._html_search_regex(r'arte_vp_url="(.*?)"', webpage, 'json url')
 
 
         json_info = self._download_webpage(json_url, video_id, 'Downloading info json')
         json_info = self._download_webpage(json_url, video_id, 'Downloading info json')
         self.report_extraction(video_id)
         self.report_extraction(video_id)