Python使用pyexecjs代码案例解析


Posted in Python onJuly 13, 2020

针对现在大部分的网站都是使用js加密,js加载的,并不能直接抓取出来,这时候就不得不适用一些三方类库来执行js语句

execjs,一个比较好用且容易上手的类库(支持py2,与py3),支持 JS runtime。

官网:https://pypi.org/project/PyExecJS/

# pip install pyexecjs
# 一node.js为引擎

# 检测运行环境

import execjs
print(execjs.get().name)

最简单的代码案例 使用eval执行js代码

import execjs
e = execjs.eval('a=new Array(1,2,3)')
print(e)

如何处理内容比较多的js呢

str1 = """
 function test(data){
  return data;
 }
"""
# 先吧字符串编译成js代码
cx_js = execjs.compile(str1)
# 调用call方法去执行js代码
a = cx_js.call("test", "122") # 第一个为函数名,后面的为参数,多的就用逗号隔开
print(a)

"""如果是比较大的js内容呢 我们可以先保存到文件中,然后读取编译,在执行"""

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python3.5仿微软记事本notepad
Jun 15 Python
numpy.delete删除一列或多列的方法
Apr 03 Python
Python读取excel中的图片完美解决方法
Jul 27 Python
用pycharm开发django项目示例代码
Oct 24 Python
Python实现图片转字符画的代码实例
Feb 22 Python
python实现转圈打印矩阵
Mar 02 Python
python实现的发邮件功能示例
Sep 11 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
Mar 11 Python
python实现批处理文件
Jul 28 Python
基于python判断字符串括号是否闭合{}[]()
Sep 21 Python
关于Python OS模块常用文件/目录函数详解
Jul 01 Python
如何通过一篇文章了解Python中的生成器
Apr 02 Python
如何在VSCode下使用Jupyter的教程详解
Jul 13 #Python
解决python 虚拟环境删除包无法加载的问题
Jul 13 #Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
Jul 13 #Python
Python使用itcaht库实现微信自动收发消息功能
Jul 13 #Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
Jul 13 #Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
Jul 13 #Python
浅析Python 抽象工厂模式的优缺点
Jul 13 #Python
You might like
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
php数据库抽象层 PDO
2011/05/07 PHP
解析php中die(),exit(),return的区别
2013/06/20 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
2015/12/17 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
动态控制Table的js代码
2007/03/07 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
2013/12/10 Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
2014/07/23 Javascript
JavaScript中的冒泡排序法
2016/08/03 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
2017/01/19 Javascript
深入理解Vue2.x的虚拟DOM diff原理
2017/09/27 Javascript
除Console.log()外更多的Javascript调试命令
2018/01/24 Javascript
JS中appendChild追加子节点无效的解决方法
2018/10/14 Javascript
axios+Vue实现上传文件显示进度功能
2019/04/14 Javascript
JS实现数据动态渲染的竖向步骤条
2020/06/24 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
2020/08/03 Javascript
javascript实现打砖块小游戏(附完整源码)
2020/09/18 Javascript
Python中的闭包实例详解
2014/08/29 Python
Python 3中的yield from语法详解
2017/01/18 Python
使用Python对Excel进行读写操作
2017/03/30 Python
python爬取m3u8连接的视频
2018/02/28 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
python对象与json相互转换的方法
2019/05/07 Python
基于Python的PIL库学习详解
2019/05/10 Python
Python urlencode和unquote函数使用实例解析
2020/03/31 Python
Python如何绘制日历图和热力图
2020/08/07 Python
李维斯牛仔裤荷兰官方网站:Levi’s NL
2020/08/23 全球购物
往来会计岗位职责
2013/12/19 职场文书
书法比赛获奖感言
2014/02/10 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
2014年工作总结及2015工作计划
2014/12/12 职场文书
个人合作协议范本
2015/08/06 职场文书
如何用RabbitMQ和Swoole实现一个异步任务系统
2021/05/29 PHP
python 多态 协议 鸭子类型详解
2021/11/27 Python