登录  /  注册
首页 > web前端 > js教程 > 正文

在Python中如何执行ExecJs语句

php中世界最好的语言
发布: 2018-03-07 10:10:32
原创
4424人浏览过

这次给大家带来在python中如何执行execjs语句,在python中执行execjs语句的注意事项有哪些,下面就是实战案例,一起来看一下。

execjs模块

在网页数据提取的日常中,经常有一些有用的信息以json的格式存放在网页的源代码中,这时候要规则的提取的这些数据,就需要一个能够解析js的包了,execjs提供了简单易用的api

安装

使用pip安装:

 pip install PyExecJS

使用easy_install安装:

 easy_install PyExecJS

使用

这里使用了一个网站的网页做示例,它的源代码中有这么一段

1.png

我们的目标是提取图中的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)
登录后复制

执行结果如下图:

2.png

扩展

在一些数据的抽取中用到了模拟浏览器,通常我们会用selenium或者其他的webkit包,但是一般的模拟包只是返回了渲染后的页面,有的时候仅仅是返回动态渲染的页面是不够的,还需要能够执行js并控制js与dom交互,有兴趣的同学可以看一下PyV8和w3c包

相信看了这些案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

相关阅读:

怎样在Android开发中与js进行交互

JS模块化-RequireJS

在vue首页怎样做出底部导航TabBar

一个用Vue.js 2.0+做出的石墨文档样式的富文本编辑器

以上就是在Python中如何执行ExecJs语句的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号