代码示例:Python 调用并执行 JS

经常做爬虫需要扣JS的老铁一定很熟悉这段操作,通过execjs调用并执行 JS 对一些加解密的处理非常有用。在此记录一下相互学习交流。以下是具体步骤:

1、安装 execjs

pip install pyexecjs

本地需要安装node环境,具体安装步骤在此不再赘述,请自行搜索。安装完成后继续后续操作。

2、新建一个简单的JS方法:(index.js)

创建一个目录;添加index.js 写入一下内容; 编辑器自行选择。VScode 或 PyCharm 均可。

function padding_abc(str) {
     return str+"abcabc"
}

3、在call.py 中实现 python调用js方法

创建 call.py 文件写入一下内容

import execjs

with open("./index.js", 'r', encoding="utf-8") as f:
    js_code = f.read()

ctx = execjs.compile(js_code)
data = ctx.call("padding_abc", "123123")

print(data)
# 123123abcabc

代码仅供参考,欢迎留言讨论学习。

相关文章

如何使用 Scrapy 执行 JavaScript

大多数现代网站都使用客户端 JavaScript 框架,例如 React、Vue 或 Angular。在没有服务器端渲染的情况下从动态网站抓取数据通常需要执行 JavaScript 代码。我已经抓取了...

Python爬虫高级之JS渗透登录新浪微博 | 知了独家研究

小伙伴们看到标题可能会想,我能直接自己登陆把登陆后的cookie复制下来加到自定义的请求头里面不香嘛,为什么非要用python模拟登录的过程?如果我们是长期爬取数据,比如每天早上中午和晚上定时爬取新浪...

Python、JavaScript和Rust的Web性能比较

Python使用FastApi测试;Node.JS使用Fastify;Rust则使用Actix。选择的Python和Node框架,是在搜索 "最快的<某语言>api "时得...

在pyside的QWebEngineView中和javascript通信

在pyside2中可以使用QtWebChannel 使QWebEngineView和前端页面的javasccript通信代码:from PySide2.QtWebChannel import QWeb...

网页数据如何获取,带你走近JS逆向,完全入门级!

在这个大数据时代,我们眼睛所看到的百分之九十的数据都是通过页面呈现出现的,不论是PC端、网页端还是移动端,数据渲染还是基于html/h5+javascript进行的,而大多数的数据都是通过请求后台接口...