在Python中如何执行ExecJs语句
程序员文章站
2022-03-21 23:03:15
...
这次给大家带来在Python中如何执行ExecJs语句,在Python中执行ExecJs语句的注意事项有哪些,下面就是实战案例,一起来看一下。
execjs模块
在网页数据提取的日常中,经常有一些有用的信息以json的格式存放在网页的源代码中,这时候要规则的提取的这些数据,就需要一个能够解析js的包了,execjs提供了简单易用的api
使用pip安装:
pip install PyExecJS
使用easy_install安装:
easy_install PyExecJS
使用
这里使用了一个网站的网页做示例,它的源代码中有这么一段
我们的目标是提取图中的json数据,代码如下:
import requestsimport reimport execjsfrom lxml import etree url = ' https:// www.madewell.com/cn/madewell_category/SHIRTSTOPS/topsblouses/PRDOVR~F9375/F9375.jsp'res = requests.get(url) doc = etree.HTML(res.text)#s_text = doc.xpath('//script/text()')#def f(var,text):# if var in text:# return True# return False#data = filter(partial(f,"var data"),s_text)[0]data = ''.join(doc.xpath('//script[contains(text(),"var data")]/text()')) json_raw = re.search('({[\S\s]*\})',data).group(1) jsn = execjs.eval(json_raw) print (jsn)
执行结果如下图:
扩展
在一些数据的抽取中用到了模拟浏览器,通常我们会用selenium或者其他的webkit包,但是一般的模拟包只是返回了渲染后的页面,有的时候仅仅是返回动态渲染的页面是不够的,还需要能够执行js并控制js与dom交互,有兴趣的同学可以看一下PyV8和w3c包
相信看了这些案例你已经掌握了方法,更多精彩请关注其它相关文章!
相关阅读:
一个用Vue.js 2.0+做出的石墨文档样式的富文本编辑器
以上就是在Python中如何执行ExecJs语句的详细内容,更多请关注其它相关文章!
推荐阅读
-
在oracle 数据库中查看一个sql语句的执行时间和SP2-0027错误
-
在VSCode中如何配置Python开发环境
-
pycharm在调试python时执行其他语句的方法
-
Mybaits 源码解析 (六)----- 全网最详细:Select 语句的执行过程分析(上篇)(Mapper方法是如何调用到XML中的SQL的?)
-
如何在Python中实现goto语句的方法
-
在psql中,使用\watch反复查看语句的执行结果
-
如何让docker中的mysql启动时自动执行sql语句
-
在Python中执行cmd
-
SHELL脚本 ---vim在脚本中的设定、如何执行shell脚本、如何对脚本进行调试
-
在html文件中也可以执行php语句的方法