是一个JavaScript渲染服务,带有HTTP API的轻量级浏览器
可以使用Lua语言编写代码对页面进行渲染
Python可以通过HTTP API调用Splash内部的功能,与Lua代码进行交互
主要功能:
- Splash内置的浏览器使用了Twisted框架,所以可以异步进行多个网页的渲染
- 获取渲染后的页面源代码或者截图
- 通过关闭图片渲染或者使用Adblock规则来加快页面渲染的速度
- 使用JavaScript处理页面的内容
- 可以通过Lua脚本控制页面渲染的过程
- 获取渲染的详细过程并通过HAR(HTTP Archive)格式呈现
Splash在安装在Docker上,首先要安装docker
安装Splash并启动,如果是linux加sudo
docker run -p 8050:8050 scrapinghub/splash
启动成功访问 http://localhost:8050/
启动成功页面是这样的
右边就是默认的Lua脚本
通过main方法传入2个参数,然后通过args参数获得一个URL,等待0.5秒,返回数据
获得一下数据:
- 与URL对应页面的HTML代码
- 与URL对应页面的png截图
- HAR格式数据
在Render me那里输入百度的URL,就会生成相应的内容