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 ...
随机推荐
- 使用Go实现健壮的内存型缓存
使用Go实现健壮的内存型缓存 本文介绍了缓存的常见使用场景.选型以及注意点,比较有价值. 译自:Implementing robust in-memory cache with Go 内存型缓存是一种 ...
- 利用apache ftpserver搭建ftp服务器
操作环境: win2012r2 x64 datacenter Apache FtpServer 1.2.0 Java SE Development Kit 8u333 commons-dbcp2-2. ...
- Linux版 MySql57安装教程
这里介绍的是CentOS7.4安装mysql57的教程 创建MySQL文件包 使用mkdir -p 文件夹路径创建以下目录: 文件夹路径 用途 /usr/local/mysql MySQL安装路径 / ...
- Spring大事务到底如何优化?
所谓的大事务就是耗时比较长的事务. Spring有两种方式实现事务,分别是编程式和声明式两种. 不手动开启事务,mysql 默认自动提交事务,一条语句执行完自动提交. 一.大事务产生的原因 操作的数据 ...
- 目标检测复习之Loss Functions 总结
Loss Functions 总结 损失函数分类: 回归损失函数(Regression loss), 分类损失函数(Classification loss) Regression loss funct ...
- OpenWrt 20.02.2 小米路由器3G配置CP1025网络打印
家里的施乐 CP116w 工作快五年了终于罢工了. 黑粉报错, 自己也不会拆, 只能搁置了. 后来换了个 HP CP1025. 这个打印机也不错, 墨盒便宜没什么废粉, 就是启动慢一点, 而且 -- ...
- python基础学习9
python基础学习 内容概要 字符编码的简介 字符编码的发展史 字符编码的实际应用 文件操作简介 文件读写模式 文件操作模式 文件操作方法 内容详情 字符编码的简介 # 字符编码主要研究的对象是文本 ...
- centos6搭建mysql
目前CentOS6.5及一下版本基本上被官方给放弃更新了,但是考虑到忠实粉丝迟迟不肯放手,所以还留了入口但是非常有限 1.搭建mysql 可参照:https://blog.csdn.net/huang ...
- EnvironmentLocationNotFound: Not a conda environment: C:\Program Files\Anaconda3
可参考:https://blog.csdn.net/dscn15848078969/article/details/114743744
- redisson之分布式锁实现原理(三)
官网:https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95 一.什么是分布式锁 1.1.什么是分布式锁 分布式锁,即分布式系统中的锁 ...