前言

我们都知道Python可以很轻松的实现某些功能,而且还可以编写网页,比如Remi,Pysimplegui,但是操作JavaScript这种浏览器的脚本语言,还是第一次听说,小编也是第一次听说,于是就跟大家脑补这一知识。

一、PyExecJS

是一个可以执行JavaScript脚本的Python模块,可以与网页上的JavaScript进行交互,这样就能更加精准的获取到网页中的加密内容,如果用Python中的网络模块进行请求,会无法解密文档中的加密内容,这个时候使用我们的PyExecJS可以很方便到的解密网页中的加密内容,当然这得你会Js逆向才可以。不过要想PyExecJS解析JS语句没毛病,还得整个Js语言解析环境,这里推荐NodeJS,尴尬。我们来看下PyExecJs的用法:

1.常规操作

  1. import execjs

2 个可以操作JavaScript的Python库 - 图1
图片
也可以通过获取引擎来运行我们的语句,如下:

  1. print(execjs.get().eval('1+1'))

2.查看解释引擎

  1. print(execjs.get().name)

2 个可以操作JavaScript的Python库 - 图2
图片
这里JavaScript的解释引擎是JScript,我们还可以使用自己指定给力的引擎,比如“Nodejs”。

3.指定引擎

  1. import execjs

2 个可以操作JavaScript的Python库 - 图3
图片
也可以手动指定引擎,如下:

  1. js1=execjs.get(execjs.runtime_names.JScript)

2 个可以操作JavaScript的Python库 - 图4
图片

二、Js2Py

这个我觉得算是比较好的了,可以说是一个综合体,它不需要依赖别的环境,可以独立运行Js文件,只不过它的运行速度可能会稍微慢一点而已,但是这都不叫事。下面我们来看看它有哪些神器的功能吧。

1.常规操作,必须的

2 个可以操作JavaScript的Python库 - 图5
图片

2.循环遍历

  1. import js2py

2 个可以操作JavaScript的Python库 - 图6
图片

3.读取Js文件

我们可以把JS文件写入文件中,以便我们进行调用,如下:
1.js

  1. function f(aa){

Python文件

  1. import js2py

2 个可以操作JavaScript的Python库 - 图7
图片

4.爬取网站数据

这里我们以淘宝为主,我想整它的JS脚本文件,如下:

  1. import execjs

2 个可以操作JavaScript的Python库 - 图8
图片

三、总结

本文主要盘点了 2 个可以操作JavaScript的Python库,分别是PyExecJS、Js2Py,只要我们用好了这些模块以后玩爬虫就能更加技高一筹,并且准确率更高了。