1
1
mirror of https://github.com/ytdl-org/youtube-dl synced 2024-11-27 21:46:54 +01:00

[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.
This commit is contained in:
Yen Chi Hsuan 2016-02-26 15:13:35 +08:00
parent 680079be39
commit efbd6fb8bb

View File

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