这篇文章主要讲解了“Python执行js字符串的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python执行js字符串的方法有哪些”吧!
方法
执行大型js时有点慢
特殊编码的输入或输出参数会出现报错,解决方法:
可以把输入或输出的参数用base64编码一下。base64都是英文和数字,没有特殊字符了
1--js2py
pip insatll js2py# 获取执行JS的环境context = js2py.EvalJs() # 加载执行context.execute('放JS字符代码')
2--execjs
import execjsprint(execjs.get().name)# Node.js (V8)
import execjsuser_id = '3232597584'url = f'https://www.toutiao.com/toutiao/api/pc/feed/?min_behot_time=1588149898&category=__all__&utm_source=toutiao&widen=1&tadrequire=true&user_id={user_id}&visited_uid={user_id}'js_index = """js"""# 打开js文件读取# new_url = execjs.compile(open("/Users/ts/Desktop/Jeff/今日头条/new_sign.js").read()).call('get_sigtrue', url) # 读取js字符串new_url = execjs.compile(js_index).call('get_sigtrue', url) print(new_url)
3--execjs
import execjsdef get_js(): f = open("./new_sign.js", 'r', encoding = 'UTF-8') line = f.readline() htmlstr = '' while line: htmlstr = htmlstr + line line = f.readline() return htmlstrjsstr = get_js()ctx = execjs.compile(jsstr)user_id = '3232597584'url = f'https://www.toutiao.com/toutiao/api/pc/feed/?min_behot_time=1588149898&category=__all__&utm_source=toutiao&widen=1&tadrequire=true&user_id={user_id}&visited_uid={user_id}'print(ctx.call('getUrl', url))
感谢各位的阅读,以上就是“Python执行js字符串的方法有哪些”的内容了,经过本文的学习后,相信大家对Python执行js字符串的方法有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!