Jelajahi Sumber

[vidzi] Use decode_packed_codes

Javascript codes found on Vidzi are slightly different from those found
in VideoMega and iQiyi. Nevertheless, the difference has no effects on
the final result.
Yen Chi Hsuan 10 tahun lalu
induk
melakukan
efbd6fb8bb
1 mengubah file dengan 2 tambahan dan 15 penghapusan
  1. 2 15
      youtube_dl/extractor/vidzi.py

+ 2 - 15
youtube_dl/extractor/vidzi.py

@@ -1,11 +1,9 @@
 # coding: utf-8
 from __future__ import unicode_literals
 
-import re
-
 from .jwplatform import JWPlatformBaseIE
 from ..utils import (
-    base_n,
+    decode_packed_codes,
     js_to_json,
 )
 
@@ -33,18 +31,7 @@ class VidziIE(JWPlatformBaseIE):
         title = self._html_search_regex(
             r'(?s)<h2 class="video-title">(.*?)</h2>', webpage, 'title')
 
-        mobj = re.search(r"}\('(.+)',36,(\d+),'([^']+)'\.split\('\|'\)", webpage)
-        code, count, symbols = mobj.groups()
-
-        count = int(count)
-        symbols = symbols.split('|')
-
-        while count:
-            count -= 1
-            if symbols[count]:
-                code = re.sub(r'\b%s\b' % base_n(count, 36), symbols[count], code)
-
-        code = code.replace('\\\'', '\'')
+        code = decode_packed_codes(webpage).replace('\\\'', '\'')
         jwplayer_data = self._parse_json(
             self._search_regex(r'setup\(([^)]+)\)', code, 'jwplayer data'),
             video_id, transform_source=js_to_json)