浏览代码

[infoq] Simplify playpath calculation

Kai Weber 11 年之前
父节点
当前提交
7560096db5
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      youtube_dl/extractor/infoq.py

+ 6 - 2
youtube_dl/extractor/infoq.py

@@ -35,9 +35,13 @@ class InfoQIE(InfoExtractor):
         video_title = self._html_search_regex(r'<title>(.*?)</title>', webpage, 'title')
         video_title = self._html_search_regex(r'<title>(.*?)</title>', webpage, 'title')
         video_description = self._html_search_meta('description', webpage, 'description')
         video_description = self._html_search_meta('description', webpage, 'description')
 
 
+        # The server URL is hardcoded
         video_url = 'rtmpe://video.infoq.com/cfx/st/'
         video_url = 'rtmpe://video.infoq.com/cfx/st/'
-        base64playpath = self._search_regex(r"jsclassref = '([^']*)'", webpage, 'jsclassref')
-        playpath = 'mp4:' + base64.b64decode(base64playpath).decode('utf-8')
+
+        # Extract video URL
+        encoded_id = self._search_regex(r"jsclassref ?= ?'([^']*)'", webpage, 'encoded id')
+        real_id = compat_urllib_parse.unquote(base64.b64decode(encoded_id.encode('ascii')).decode('utf-8'))
+        playpath = 'mp4:' + real_id
 
 
         video_filename = playpath.split('/')[-1]
         video_filename = playpath.split('/')[-1]
         video_id, extension = video_filename.split('.')
         video_id, extension = video_filename.split('.')