python运行js的包-----execjs

其几天在爬取百度信用的商标图片的过程中,有一个tot参数是根据页面返回的动态tk值然后运行js加密后生成的结果。
所以需要先获取该段js后在用execjs运行该段js对获取的数据进行加密,就能获取想要的数据了。
如下图:
在这里插入图片描述
tk_func就是使用正则匹配,从源页面中获取对应的内容。
而第二个横线中的tk就是使用execjs运行该段js的方式。

如何正确的安装和使用该包呢?
请点击:https://blog.csdn.net/xc_zhou/article/details/80952155

更新(2019-05-21):
前段时间在搞js破解,同事电脑上能用execjs运行出结果的,在自己电脑上却会出现错误。
我们python 版本一致,execjs版本一致,运行环境一致(win10),但就是我报错,他OK,然后我突然想起来execjs运行时有环境依赖的。如果没装其他的js运行环境,那么win10下默认的是JSscrip,而同事最近在做app模拟,因此装了不少东西,所以,你需要在python中运行:execjs.get().name 来查看自己的execjs依赖环境。
什么都没有装,JSscrip
装了node.js,提示 Node.js (V8)
下面是源码中给出,可运行execjs的依赖环境:
PyV8 = “PyV8”
Node = “Node”
JavaScriptCore = “JavaScriptCore”
SpiderMonkey = “SpiderMonkey”
JScript = “JScript”
PhantomJS = “PhantomJS”
SlimerJS = “SlimerJS”
Nashorn = “Nashorn”

ps:装好之后要记得重启pycharm之类的py工具,因为你不重启,他默认的依赖还是JSscrip

然后在依赖环境也成功相同之后,我还是运行不了。尼玛的!为什么?
总是提示我编码报错。可我同事运行时正确的啊。
难道是js脚本编码有问题?
然后用notepad打开,utf-8没问题。
不信邪的我把它随便改了个格式,又改回utf-8.保存运行。
还是编码报错,但这次提示的是乱码错误,并给了准确的报错位置
点进去一看,中文注释的锅。。。遂,删除所有中文注释。
完美运行。
撒花~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值