Browse Source

add support to video protected by password

totalwebcasting
Celthi 9 years ago
parent
commit
14c17cafa1
1 changed files with 8 additions and 8 deletions
  1. +8
    -8
      youtube_dl/extractor/youku.py

+ 8
- 8
youtube_dl/extractor/youku.py View File

@ -219,25 +219,25 @@ class YoukuIE(InfoExtractor):
# request basic data # request basic data
basic_data_url = "http://play.youku.com/play/get.json?vid=%s&ct=12" % video_id basic_data_url = "http://play.youku.com/play/get.json?vid=%s&ct=12" % video_id
if video_password: if video_password:
basic_data_url += '?password=%s' % video_password
basic_data_url += '&pwd=%s' % video_password
data1 = retrieve_data( data1 = retrieve_data(
basic_data_url, basic_data_url,
'Downloading JSON metadata 1') 'Downloading JSON metadata 1')
data2 = retrieve_data( data2 = retrieve_data(
"http://play.youku.com/play/get.json?vid=%s&ct=12" % video_id,
basic_data_url,
'Downloading JSON metadata 2') 'Downloading JSON metadata 2')
error_code = data1.get('error_code')
if error_code:
error = data1.get('error')
if error is not None and '因版权原因无法观看此视频' in error:
error = data1.get('error')
if error:
error_note = error.get('note')
if error_note is not None and '因版权原因无法观看此视频' in error_note:
raise ExtractorError( raise ExtractorError(
'Youku said: Sorry, this video is available in China only', expected=True) 'Youku said: Sorry, this video is available in China only', expected=True)
else: else:
msg = 'Youku server reported error %i' % error_code
msg = 'Youku server reported error %i' % error.get('code')
if error is not None: if error is not None:
msg += ': ' + error
msg += ': ' + error_note
raise ExtractorError(msg) raise ExtractorError(msg)
#get video title #get video title


Loading…
Cancel
Save