关于JS逆向学习的Python爬虫技术

2023-11-11 0 964

关于JS逆向学习的Python爬虫技术

正文:

1. Node.js 是一个提供浏览器环境的平台,可以在非浏览器环境中运行JavaScript代码。它支持在第三方安装的基础上运行 JavaScript 文件。

2. 在 Python中,有一些基础的语法可以用来读取文件。例如:

“`python
with open(文件路径, 操作类型(r), encoding=’utf-8′) as f:
data = f.read()
“`

3. pyexecjs 库的作用是连接 Python 和 JavaScript 代码,使得 JavaScript 代码可以被 Python 代码调用和运行。可以通过以下方式安装和导入 pyexecjs 库:

安装方法:`pip install pyexecjs`
导入方法:`import execjs`(没有 py 前缀)

具体使用方法是,首先通过上述的文件读取方式获取到 JavaScript 文件的内容,将其赋值给变量data。然后使用以下语法对其进行编译:

“`python
execjs.compile(data)
“`

此时,原来的 data 已经被编译,不再是字符串类型。需要注意的是,原始的 JavaScript 文件中不要包含调用文件内函数的代码,否则可能会导致系统报错。可以使用以下语法来调用编译后的 JavaScript 代码中的函数:

“`python
execjs.compile(data).call(“函数名”, 参数 1, 参数 2…)
“`

以下是一个代码实例:

“`python
import execjs

with open(文件路径, 操作类型(r), encoding=’utf-8′) as f:
data = f.read()

compiled_js = execjs.compile(data)
result = compiled_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′

收藏 (0)

微信扫一扫

支付宝扫一扫

点赞 (0)

免责声明

本资源仅限个人学习与研究使用,严禁用于任何商业用途!

1 网站名称:汇站网
2 永久网址:https://www.huizhanii.com
3 本站资源来源于网友投稿和付费购买,仅供编程人员及源代码爱好者下载参考与研究,不提供任何技术支持服务!
4 资源展示图片及相关信息仅供参考,不代表本站立场!本站仅作为信息存储平台
5 禁止在服务器和虚拟机上搭建运营,所有资源仅限本地调试与研究使用,不支持联网运行!
6 未经版权方授权,严禁用于商业用途。使用者如违反国家法律法规,需自行承担全部法律责任!
7 请在下载后24小时内删除!建议支持正版授权作品
8 如资源侵犯您的合法权益,请提供版权证明及相关作品信息发送至邮箱:972908224@qq.com,我们将及时处理
9 如遇下载链接失效或支付未到账,请联系站长处理
10 欢迎投稿优质源码或教程,审核通过后将获得相应奖励
11 资源收费仅用于维持网站正常运营
12 数字商品具有特殊性质,一经购买概不退款

汇站网 Python 关于JS逆向学习的Python爬虫技术 https://www.huizhanii.com/33735.html

站长资源下载中心-找源码上汇站

常见问题
  • 如果付款后没有弹出下载页面,多刷新几下,有问题联系客服!
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

联系官方客服

为您解决烦忧 - 24小时在线 专业服务