盘点个可以操作JavaScript的Python库.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
盘点3个可以操作JavaScript的Python库 我们都晓得Python可以很轻松的实现某些功能,而且还可以编写网页,比如Remi,Pysimplegui,但是操作JavaScript这种扫瞄器的脚本言语,还是第一次听说,小编也是第一次听说,于是就跟大家脑补这一学问。 一、PyExecJS 是一个可以执行JavaScript脚本的Python模块,可以与网页上的JavaScript进行交互,这样就能愈加精准的猎取到网页中的加密内容,假如用Python中的网络模块进行恳求,会无法解密文档中的加密内容,这个时候使用我们的PyExecJS可以很便利到的解密网页中的加密内容,当然这得你会Js逆向才可以。不过要想PyExecJS解析JS语句没毛病,还得整个Js言语解析环境,这里推举NodeJS,尴尬。我们来看下PyExecJs的用法: 1.常规操作 import execjs aa=execjs.eval(one|two|three.split(|)) #执行JavaScript代码,将字符串分割构成数组 print(aa) e=pile( #编译一个表达式 function add(x,y){ return x+y; } ) print(e.call(add,10,20))#调用编译好的函数并且赋值 也可以通过猎取引擎来运转我们的语句,如下: print(execjs.get().eval(1+1)) 2.查看解释引擎 print(execjs.get().name) 这里JavaScript的解释引擎是JScript,我们还可以使用本人指定给力的引擎,比如“Nodejs”。 3.指定引擎 import execjs import os os.environ[EXECJS_RUNTIME] = Node print(execjs.get().name) 也可以手动指定引擎,如下: js1=execjs.get(execjs.runtime_names.JScript) print(js1.eval(1)) js2=execjs.get(execjs.runtime_names.Node) print(js2.eval(2)) 二、Js2Py 这个我觉得算是比较好的了,可以说是一个综合体,它不需要依靠别的环境,可以独立运转Js文件,只不过它的运转速度可能会略微慢一点而已,但是这都不叫事。下面我们来看看它有哪些神器的功能吧。 1.常规操作,必需的 2.循环遍历 import js2py aa=js2py.eval_js( var i=0; for(var c=1;c6;c++){ console.log(c); } ) print(aa) 3.读取Js文件 我们可以把JS文件写入文件中,以便我们进行调用,如下: 1.js function f(aa){ if(aa11){ console.log(OK) }else{ console.log(Fail) } } Python文件 import js2py with open(1.js,r) as f: aa=js2py.eval_js(f.read()) print(aa(11)) 4.爬取网站数据 这里我们以淘宝为主,我想整它的JS脚本文件,如下: import execjs import requests import re url = /?pid=mm6762370res=requests.get(url).text js=re.findall(r,res) print(js,\n) js1=re.sub(reval\(,return(,js[0]) html=function getLego2WPK(){ + js1 + }; ctx = pile(html) temp = ctx.call(getLego2WPK) print(temp) 三、PyV8 基于Google的V8引擎打造,圆满的是目前只支持Python2版本,而且已不再维护,建议Python2的小伙伴可以去试试。 四、总结 本文次要盘点了3个可以操作JavaScript的Python库,分别是PyExecJS、Js2Py和PyV8,只需我们用好了这些模块以后玩爬虫就能愈加技高一筹,并且精确?????率更高了。 -----------

文档评论(0)

duanbingbing + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档