py爬虫之关于JS逆向学习【基础篇关于py调用js代码】

1.node.js:
其提供了一个浏览器环境 可以让我们不用在非在浏览器中运行JS代码,支持第三方安装它的基础上运行JS文件
2.涉及到的python基础语法:
读文件——
with open(文件路径,操作类型(r),encoding='utf-8') as f:
data=f.read()
3.pyexecjs库:
作用:链接python和JS代码 使得JS代码可以被python代码调用运行
安装方法:pip install pyexecjs
导入方法:import execjs (没有py)
具体使用方法:在上文通过已获取的JS文件内容为data后
编译语法: execjs.complie(JS文件内容)
此时原来的data已被编译 不在为字符串类型
注意——:
原JS文件不要出现调用文件内函数的代码,这可能会导致系统报错
调用语法:execjs.complie(JS文件内容).call("函数名",参数1,参数2…)
代码实例:
demo.js:
function my(x){
return "hello,world"+x
}
test.py:
import execjs
with open(/.demo.js,"r",encoding='utf-8') as f:
data=f.read()
d=execjs.complie(data).call("my","thanks")
print(d)
test.py代码运行结果应为:
hello,world thanks
下面是一些关于中文输出问题:
在具体调用时,输出部分中文可能报错,这是由于编码问题
解决方法:
1- 进入subprocess库的源代码
2- 搜索encoding 662行处将encoding=None的None改为'UTF-8'


微信扫码关注公众号 更新内容早知道
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容