瀏覽代碼

[youku] Fix extraction (#8068)

Yen Chi Hsuan 9 年之前
父節點
當前提交
034caf70b2
共有 1 個文件被更改,包括 10 次插入0 次删除
  1. 10 0
      youtube_dl/extractor/youku.py

+ 10 - 0
youtube_dl/extractor/youku.py

@@ -2,6 +2,9 @@
 from __future__ import unicode_literals
 from __future__ import unicode_literals
 
 
 import base64
 import base64
+import random
+import string
+import time
 
 
 from .common import InfoExtractor
 from .common import InfoExtractor
 from ..compat import (
 from ..compat import (
@@ -141,6 +144,11 @@ class YoukuIE(InfoExtractor):
 
 
         return video_urls_dict
         return video_urls_dict
 
 
+    @staticmethod
+    def get_ysuid():
+        return '%d%s' % (int(time.time()), ''.join([
+            random.choice(string.ascii_letters) for i in range(3)]))
+
     def get_hd(self, fm):
     def get_hd(self, fm):
         hd_id_dict = {
         hd_id_dict = {
             '3gp': '0',
             '3gp': '0',
@@ -189,6 +197,8 @@ class YoukuIE(InfoExtractor):
     def _real_extract(self, url):
     def _real_extract(self, url):
         video_id = self._match_id(url)
         video_id = self._match_id(url)
 
 
+        self._set_cookie('youku.com', '__ysuid', self.get_ysuid())
+
         def retrieve_data(req_url, note):
         def retrieve_data(req_url, note):
             headers = {
             headers = {
                 'Referer': req_url,
                 'Referer': req_url,