「Python爬虫」如何在Python 中执行JavaScript呢?
全民python
2019-09-02 01:13:07
阅读(478)
(0)
> 在使用爬虫中,经常会遇到网页请求数据是经过 JS 处理的,特别是模拟登录时可能有加密请求。而目前绝大部分前端 JS 代码都是经过混淆的,可读性极低,想理解代码逻辑需要花费大量时间。这时不要着急使用 Selenium 暴力解决,毕竟 Selenium 严重拖慢爬虫效率,我们可以尝试使用一些第三方库,来直接执行前端 JS 代码得到处理过后的结果。
## PyExecJS
**PyExecJS**,是一个可以运行`JavaScript`代码的`Python`第三方库,这个库主要是将 JS 代码运行在本地的 JS 环境中。在使用这个库之前需要确保本地环境安装了JS环境,官方推荐了4种:
- PyV8
- Node.js
- PhantomJS
- Nashorn
当然缺点是必须安装一种环境导致不是很轻量,而且调用时有一个启动环境过程,还是有明显缓慢的。
### PyExecJS安装
#### JS环境安装
先解决JS环境,我们这里使用`Node.js`,安装方便,执行效率也高。
进入官网,下载对应包,我这里是windows下安装,所以直接选择windows安装包
![](http://cdn.qmpython.com/Python 执行JavaScript 代码 :PyExecJS、PyV8、Js2Py_1567356887000.png)
安装过程很简单,一路“下一步”就可