Splash (渲染JS服务)介绍安装
一. splash介绍
1.Splash 是一个带有 HTTP API 的 javascript 渲染服务。它是一个带有 HTTP API 的轻量级浏览器,使用 Twisted 和 QT5 在 Python 3 中实现。
2.Splash特点:
1)它快速、轻量且无状态,使其易于分发。
2)并行处理多个网页
3)获取 HTML 结果和/或截屏
4)关闭图像或使用 Adblock Plus 规则来加快渲染速度
4)在页面上下文中执行自定义 JavaScript
5)编写 Lua 浏览脚本
6)在Splash-Jupyter Notebooks中开发 Splash Lua 脚本。
7)获取 HAR 格式的详细渲染信息。
3.安装Splash不支持windows,需要linux+docker。
4.Scrapy-Splash是一个客户端包,使Scarpy轻松集成,Scrapy-Splash使用Splash HTTP API。
二.Splash安装
Splash是基于client/server架构,需要在server端安装,客户端通过Scrapy-Splash 接口调用spalsh api接口。
1)要求环境: linux+docker, docker version>=17
2)安装docker介绍:https://www.cnblogs.com/MrHSR/p/12806991.html
[root@iZwz927xptl8kw8zqrmwvcZ ~]# sudo yum install docker-ce-19.03.15 docker-ce-cli-19.03.15 containerd.io
3) 拉取镜像: $ sudo docker pull scrapinghub/splash
[root@iZwz927xptl8kw8zqrmwvcZ ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest feb5d9fea6a5 9 months ago 13.3kB
scrapinghub/splash latest 9364575df985 23 months ago 1.89GB
4) 启动容器:
[root@iZwz927xptl8kw8zqrmwvcZ ~]# docker run -d -p 8050:8050 scrapinghub/splash
3bf80a55aec2f9735be66e51d226501df118e0fc4505ae775ad9c0ead6c8a725
[root@iZwz927xptl8kw8zqrmwvcZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3bf80a55aec2 scrapinghub/splash "python3 /app/bin/sp…" 8 seconds ago Up 7 seconds 0.0.0.0:8050->8050/tcp silly_panini
也可以指定内存指定版本:docker run -d -p 8050:8050 --memory=4.5G --restart=always scrapinghub/splash:3.1 --maxrss 4000
在外网能拼通
三. 测试
官方提供了可视化界面进行测试,浏览器打开 http://120.xx.xxx.xxx:8050/ ,如下所示

输入baidu网站会自动截屏和查看网页原码,如下所示:

查看spalsh日志,首先要知道spalsh的容器ID,在根据容器ID,查看日志
[root@iZwz927xptl8kw8zqrmwvcZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3bf80a55aec2 scrapinghub/splash "python3 /app/bin/sp…" 9 days ago Up 9 days 0.0.0.0:80 50->8050/tcp silly_panini
[root@iZwz927xptl8kw8zqrmwvcZ ~]# docker logs -f 3bf80a55aec2
服务端安装参考:https://splash.readthedocs.io/en/stable/install.html#install-docs
客户端安装参考:https://github.com/scrapy-plugins/scrapy-splash
Splash (渲染JS服务)介绍安装的更多相关文章
- ASP.NET Core 与 Vue.js 服务端渲染
http://mgyongyosi.com/2016/Vuejs-server-side-rendering-with-aspnet-core/ 原作者:Mihály Gyöngyösi 译者:oop ...
- NET Core 与 Vue.js 服务端渲染
NET Core 与 Vue.js 服务端渲染 http://mgyongyosi.com/2016/Vuejs-server-side-rendering-with-aspnet-core/原作者: ...
- NFS介绍 NFS服务端安装配置 NFS配置选项
NFS 介绍 • NFS是Network File System的缩写 • NFS最早由Sun公司开发,分2,,4三个版本,2和3由Sun起草开发,.0开始Netapp公司参与并主导开发,最新为4.1 ...
- LAMP架构应用实战—Apache服务介绍与安装01
LAMP架构应用实战—Apache服务介绍与安装01 一:Apache是什么 Apache是Apache基金会开发的一个高性能.功能强大.安全可靠.灵活的开放源码的WEB服务软件 二:Apache ...
- NFS介绍、服务端安装配置、NFS配置选项
6月21日任务 14.1 NFS介绍14.2 NFS服务端安装配置14.3 NFS配置选项 14.1 NFS介绍 14.2 NFS服务端安装配置 1.首先需要2台机器,一台是服务端,一台是客户端,分别 ...
- Linux centosVMware NFS介绍、NFS服务端安装配置、NFS配置选项
一.NFS介绍 NFS是Network File System的缩写 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版 ...
- 前端云原生,以 Kubernetes 为基础设施的高可用 SSR(Vue.js) 渲染微服务初探(开源 Demo)
背景 笔者在逛掘金的时候,有幸看到掘友狼族小狈开源的 genesis - 一个可以支持 SSR 和 CSR 渲染的微服务解决方案.总体来说思想不错,但是基于 Kubernetes 云原生部署方面一直没 ...
- 国内静态文件CDN服务介绍 国内js公共库
国内静态文件CDN服务介绍 新浪SAE 介绍页 文件页 百度云 介绍页 七牛云存储介绍页 优势,可以提交没有的库,支持https,但证书不可信. 又拍云 介绍页 建议使用阿里云OSS自己上传所需文件 ...
- webpack 介绍 & 安装 & 常用命令
webpack 介绍 & 安装 & 常用命令 webpack系列目录 webpack 系列 一:模块系统的演进 webpack 系列 二:webpack 介绍&安装 webpa ...
随机推荐
- Mockito+Junit5单元测试
参考: https://segmentfault.com/a/1190000006746409 https://waylau.com/mockito-quick-start/ 1.引入依赖 下面这个最 ...
- Vue3 与依赖注入
Vue3 与依赖注入 本文写于 2021 年 2 月 19 日 在 React 中,我们可以通过 context 与 useContext 实现单例.注入--等诸多特性. 详细请看上一篇文章:如何利用 ...
- kvm 虚拟化技术 1.2 之配置网络桥接
实验一:配置网路桥接模式 默认kvm的网络是NAT模式,一般生产环境用桥接模式,把虚拟机改成桥接模式 1.查看是否安装网桥设备 [root@kibana opt]# rpm -qa|grep brid ...
- linux篇-linux 主从配置
1准备两台服务器 一台是192.168.118.128 一台是192.168.118.129 2主服务器配置 192.168.118.128 修改my.cnf文件 server-id=1 log-bi ...
- vscode带命令行参数进行调试
vscode带命令行参数进行调试 2.输入代码 { // 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述. // 欲了解更多信息,请访问: https://go.mic ...
- Java变量, 常量和作用域
目录 变量 作用域 局部变量 实例变量 类变量 常量 命名规范 视频课程 变量 变量就是可以变化的量 Java是一种强类型的语言, 每个变量都必须声明其类型 Java变量是程序中最基本的存储单元, 其 ...
- Camunda如何适配国产数据库达梦
前言 camunda流程引擎官方支持的数据库有:MySQL .MariaDB .Oracle .DB2 .PostgreSQL .SQL Server.H2.对于其他类型的数据库如何支持,尤其是国产数 ...
- 软件项目管理 7.5.项目进度模型(SPSP)
[公众号@ "项目管理研究所" 将会第一时间更新文章并分享<行业分析报告>] 归档于软件项目管理初级学习路线 第七章 软件项目进度计划 你猜猜里面是什么-->&l ...
- 安装@parcel/transformer-image注意的问题
安装前配置 npm config get cache 键入以上命令即可找到npm缓存路径,然后找到路径下的_libvips文件夹. 一般需要以下两个文件,这里以win环境为例.把文件放到_libvip ...
- Linux yum搭建私有仓库
搭建yum仓库需要两种资源: rpm包 rpm包的元数据(repodata) 搭建好仓库后需要使用三种网络协议共享出来 http或https ftp 范例: 使用http协议搭建私有仓库 (本示例使用 ...