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 ...
随机推荐
- Golang 实现 Redis(11): RDB 文件解析
RDB 文件使用二进制方式存储 Redis 内存中的数据,具有体积小.加载快的优点.本文主要介绍 RDB 文件的结构和编码方式,并借此探讨二进制编解码和文件处理方式,希望对您有所帮助. 本文基于 RD ...
- kNN-准备数据
在上一小节,我们大概了解了kNN算法的基本原理,现在我们要进行数据的处理 本小节所用数据集来自[机器学习实战]:Machine Learning in Action (manning.com) 下载数 ...
- 在vue-cli中安装scss,且可以全局引入scss的步骤
简历魔板__个人简历模板在线生成 在写vue的css样式时,觉得需要css预处理器让自己的css更加简洁.适应性更强.可读性更佳,更易于代码的维护,于是在vue-cli脚手架采用scss.写过的人都知 ...
- 最新管家婆财贸ERP C9 V22.0的应用网页版的财务软件1000用户补丁免狗授权注册机网络版软件下载
管家婆财贸ERPC9应用价值: 1.多组织独立核算 多种组织形态核算,出具独立的三大财务报表及业务报表,发挥经营管理的积极性,便于专业化运营. 2.兼顾统筹与分权 满足多种集团统管与分权管控模式需求, ...
- docker-compose 启动 rabbitmq
说明 前提条件 ubuntu-20.04-server docker & docker-compose 安装参考 安装 准备 rabbitmq.conf 新建 rabbitmq.conf 文件 ...
- Install Ubuntu on Windows Subsystem for Linux
安装参考 ubuntu.com/wsl microsoft/wsl/install-manual microsoft/terminal 错误解决方案 github/启动 WSL 2时警告"参 ...
- SpringBoot线程池
1.遇到的场景 提高一下插入表的性能优化,两张表,先插旧的表,紧接着插新的表,若是一万多条数据就有点慢了 2.使用步骤 用Spring提供的对ThreadPoolExecutor封装的线程池Threa ...
- Vue项目中的接口进阶使用
创建services文件夹 1.文件夹apis.index.request的三个文件. 2.apis文件放接口 export const apis = { checkDeviceNo: '/api/c ...
- Tarjan入门
Tarjan系列!我愿称Tarjan为爆搜之王! 1.Tarjan求LCA 利用并查集在一遍DFS中可以完成所所有询问.是一种离线算法. 遍历到一个点时,我们先将并查集初始化,再遍历完一个子树之后,将 ...
- Unity实现”对象池管理器“
前言:警告!这可能是坨屎,空闲时间写成,仅作娱乐 在Unity中生成或销毁一个物体会占用较大的资源,如果是制作FPS射击游戏,子弹生成更是雪上加霜.所以我自己写了一个PoolManager,不能和网上 ...