about summary refs log tree commit diff
path: root/youtube_dl/extractor/youku.py
diff options
context:
space:
mode:
authorPSJay <psjay.peng@gmail.com>2015-09-01 00:19:58 +0800
committerSergey M․ <dstftw@gmail.com>2015-09-01 22:24:57 +0600
commit33eae08f0422fb824cea2a4dffc98a347e916169 (patch)
treefdd59d391263ad510217db96c9172564dd13c861 /youtube_dl/extractor/youku.py
parentaa3f98677d0ca7f8feae63cf2a5c62dbdda6b586 (diff)
downloadyoutube-dl-33eae08f0422fb824cea2a4dffc98a347e916169.tar.gz
youtube-dl-33eae08f0422fb824cea2a4dffc98a347e916169.tar.xz
youtube-dl-33eae08f0422fb824cea2a4dffc98a347e916169.zip
Support video-password on Youku.
Diffstat (limited to 'youtube_dl/extractor/youku.py')
-rw-r--r--youtube_dl/extractor/youku.py24
1 files changed, 21 insertions, 3 deletions
diff --git a/youtube_dl/extractor/youku.py b/youtube_dl/extractor/youku.py
index 78caeb8b3..220f84221 100644
--- a/youtube_dl/extractor/youku.py
+++ b/youtube_dl/extractor/youku.py
@@ -49,6 +49,17 @@ class YoukuIE(InfoExtractor):
         },
         'playlist_count': 13,
         'skip': 'Available in China only',
+    }, {
+        'url': 'http://v.youku.com/v_show/id_XNjA1NzA2Njgw.html',
+        'note': 'Video protected with password',
+        'info_dict': {
+            'id': 'XNjA1NzA2Njgw',
+            'ext': 'flv',
+            'title': u'邢義田复旦讲座之想象中的胡人—从“左衽孔子”说起',
+        },
+        'params': {
+            'videopassword': '100600',
+        },
     }]
 
     def construct_video_urls(self, data1, data2):
@@ -185,10 +196,17 @@ class YoukuIE(InfoExtractor):
             raw_data = self._download_json(req, video_id, note=note)
             return raw_data['data'][0]
 
+        video_password = self._downloader.params.get('videopassword', None)
+
         # request basic data
-        data1 = retrieve_data(
-            'http://v.youku.com/player/getPlayList/VideoIDS/%s' % video_id,
-            'Downloading JSON metadata 1')
+        if video_password:
+            data1 = retrieve_data(
+                'http://v.youku.com/player/getPlayList/VideoIDS/%s?password=%s' % (video_id, video_password),
+                'Downloading JSON metadata 1')
+        else:
+            data1 = retrieve_data(
+                'http://v.youku.com/player/getPlayList/VideoIDS/%s' % video_id,
+                'Downloading JSON metadata 1')
         data2 = retrieve_data(
             'http://v.youku.com/player/getPlayList/VideoIDS/%s/Pf/4/ctype/12/ev/1' % video_id,
             'Downloading JSON metadata 2')