mirror of
https://github.com/soimort/you-get.git
synced 2025-02-09 11:42:30 +03:00
[youtube] fix #749
This commit is contained in:
parent
a2b34696f1
commit
1401f9ad97
@ -39,6 +39,7 @@ class YouTube(VideoExtractor):
|
|||||||
def decipher(js, s):
|
def decipher(js, s):
|
||||||
def tr_js(code):
|
def tr_js(code):
|
||||||
code = re.sub(r'function', r'def', code)
|
code = re.sub(r'function', r'def', code)
|
||||||
|
code = re.sub(r'(\W)(as|if|in|is|or)\(', r'\1_\2(', code)
|
||||||
code = re.sub(r'\$', '_dollar', code)
|
code = re.sub(r'\$', '_dollar', code)
|
||||||
code = re.sub(r'\{', r':\n\t', code)
|
code = re.sub(r'\{', r':\n\t', code)
|
||||||
code = re.sub(r'\}', r'\n', code)
|
code = re.sub(r'\}', r'\n', code)
|
||||||
@ -63,10 +64,13 @@ class YouTube(VideoExtractor):
|
|||||||
else:
|
else:
|
||||||
f2def = re.search(r'[^$\w]%s:function\((\w+)\)(\{[^\{\}]+\})' % f2e, js)
|
f2def = re.search(r'[^$\w]%s:function\((\w+)\)(\{[^\{\}]+\})' % f2e, js)
|
||||||
f2def = 'function {}({},b){}'.format(f2e, f2def.group(1), f2def.group(2))
|
f2def = 'function {}({},b){}'.format(f2e, f2def.group(1), f2def.group(2))
|
||||||
|
f2 = re.sub(r'(\W)(as|if|in|is|or)\(', r'\1_\2(', f2)
|
||||||
f2 = re.sub(r'\$', '_dollar', f2)
|
f2 = re.sub(r'\$', '_dollar', f2)
|
||||||
code = code + 'global %s\n' % f2 + tr_js(f2def)
|
code = code + 'global %s\n' % f2 + tr_js(f2def)
|
||||||
|
|
||||||
code = code + 'sig=%s(s)' % re.sub(r'\$', '_dollar', f1)
|
f1 = re.sub(r'(as|if|in|is|or)', r'_\1', f1)
|
||||||
|
f1 = re.sub(r'\$', '_dollar', f1)
|
||||||
|
code = code + 'sig=%s(s)' % f1
|
||||||
exec(code, globals(), locals())
|
exec(code, globals(), locals())
|
||||||
return locals()['sig']
|
return locals()['sig']
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user