Support video-password on Youku.

This commit is contained in:
PSJay 2015-09-01 00:19:58 +08:00 committed by Sergey M․
parent aa3f98677d
commit 33eae08f04

View file

@ -49,6 +49,17 @@ class YoukuIE(InfoExtractor):
}, },
'playlist_count': 13, 'playlist_count': 13,
'skip': 'Available in China only', '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): def construct_video_urls(self, data1, data2):
@ -185,10 +196,17 @@ class YoukuIE(InfoExtractor):
raw_data = self._download_json(req, video_id, note=note) raw_data = self._download_json(req, video_id, note=note)
return raw_data['data'][0] return raw_data['data'][0]
video_password = self._downloader.params.get('videopassword', None)
# request basic data # request basic data
data1 = retrieve_data( if video_password:
'http://v.youku.com/player/getPlayList/VideoIDS/%s' % video_id, data1 = retrieve_data(
'Downloading JSON metadata 1') '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( data2 = retrieve_data(
'http://v.youku.com/player/getPlayList/VideoIDS/%s/Pf/4/ctype/12/ev/1' % video_id, 'http://v.youku.com/player/getPlayList/VideoIDS/%s/Pf/4/ctype/12/ev/1' % video_id,
'Downloading JSON metadata 2') 'Downloading JSON metadata 2')