Splash是一个javascript渲染服务。它是一个带有HTTP API的轻量级Web浏览器,使用Twisted和QT5在Python 3中实现。QT反应器用于使服务完全异步,允许通过QT主循环利用webkit并发。
一些Splash功能:
并行处理多个网页
获取HTML源代码或截取屏幕截图
关闭图像或使用Adblock Plus规则使渲染更快
在页面上下文中执行自定义JavaScript
可通过Lua脚本来控制页面的渲染过程
在Splash-Jupyter 笔记本中开发Splash Lua脚本。
以HAR格式获取详细的渲染信息
1、Scrapy-Splash的安装Scrapy-Splash的安装分为两部分,一个是Splash服务的安装,具体通过Docker来安装服务,运行服务会启动一个Splash服务,通过它的接口来实现JavaScript页面的加载;另外一个是Scrapy-Splash的Python库的安装,安装后就可在Scrapy中使用Splash服务了,下面我们分三部份来安装:
(1)安装Docker
#安装所需要的包: yum install -y yum-utils device-mapper-persistent-data lvm2 #设置稳定存储库: yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #开始安装DOCKER CE: yum install docker-ce #启动dockers: systemctl start docker #测试安装是否正确: docker run hello-world