[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.master
parent
680079be39
commit
efbd6fb8bb
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue