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 相关文章推荐
在Python中使用mechanize模块模拟浏览器功能
May 05 Python
Python中用字符串调用函数或方法示例代码
Aug 04 Python
Python 3.6 读取并操作文件内容的实例
Apr 23 Python
Python将文本去空格并保存到txt文件中的实例
Jul 24 Python
python后端接收前端回传的文件方法
Jan 02 Python
对python pandas读取剪贴板内容的方法详解
Jan 24 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
Apr 04 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
Feb 29 Python
什么是Python包的循环导入
Sep 08 Python
解决Pyinstaller打包软件失败的一个坑
Mar 04 Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 31 Python
python多线程方法详解
Jan 18 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
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
20款超赞的jQuery插件 Web开发人员必备
2011/02/26 Javascript
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
2013/08/29 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
2013/12/14 Javascript
js和jquery使按钮失效为不可用状态的方法
2014/01/26 Javascript
网页下载文件期间如何防止用户对网页进行其他操作
2014/06/27 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
nodejs个人博客开发第六步 数据分页
2017/04/12 NodeJs
VUE中的无限循环代码解析
2017/09/22 Javascript
vue通过路由实现页面刷新的方法
2018/01/25 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
javascript实现弹幕墙效果
2019/11/28 Javascript
[01:12](回顾)DOTA2国际邀请赛,全世界DOTAer的盛宴
2014/07/01 DOTA
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
[04:46]2018年度玩家喜爱的电竞媒体-完美盛典
2018/12/16 DOTA
Python实现的数据结构与算法之基本搜索详解
2015/04/22 Python
python对象及面向对象技术详解
2016/07/19 Python
python将list转为matrix的方法
2018/12/12 Python
Python数据可视化:泊松分布详解
2019/12/07 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
基于python实现操作redis及消息队列
2020/08/27 Python
用python制作个视频下载器
2021/02/01 Python
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
感恩父母的演讲稿
2014/05/06 职场文书
公司市场专员岗位职责
2014/06/29 职场文书
物流专业求职信
2014/06/30 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
国际贸易系求职信
2014/08/09 职场文书
详细的本科生职业生涯规划范文
2014/09/16 职场文书
师德先进个人事迹材料
2014/12/19 职场文书
Python装饰器详细介绍
2022/03/25 Python