一. 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服务)介绍安装的更多相关文章

  1. ASP.NET Core 与 Vue.js 服务端渲染

    http://mgyongyosi.com/2016/Vuejs-server-side-rendering-with-aspnet-core/ 原作者:Mihály Gyöngyösi 译者:oop ...

  2. NET Core 与 Vue.js 服务端渲染

    NET Core 与 Vue.js 服务端渲染 http://mgyongyosi.com/2016/Vuejs-server-side-rendering-with-aspnet-core/原作者: ...

  3. NFS介绍 NFS服务端安装配置 NFS配置选项

    NFS 介绍 • NFS是Network File System的缩写 • NFS最早由Sun公司开发,分2,,4三个版本,2和3由Sun起草开发,.0开始Netapp公司参与并主导开发,最新为4.1 ...

  4. LAMP架构应用实战—Apache服务介绍与安装01

    LAMP架构应用实战—Apache服务介绍与安装01   一:Apache是什么 Apache是Apache基金会开发的一个高性能.功能强大.安全可靠.灵活的开放源码的WEB服务软件 二:Apache ...

  5. NFS介绍、服务端安装配置、NFS配置选项

    6月21日任务 14.1 NFS介绍14.2 NFS服务端安装配置14.3 NFS配置选项 14.1 NFS介绍 14.2 NFS服务端安装配置 1.首先需要2台机器,一台是服务端,一台是客户端,分别 ...

  6. Linux centosVMware NFS介绍、NFS服务端安装配置、NFS配置选项

    一.NFS介绍 NFS是Network File System的缩写 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版 ...

  7. 前端云原生,以 Kubernetes 为基础设施的高可用 SSR(Vue.js) 渲染微服务初探(开源 Demo)

    背景 笔者在逛掘金的时候,有幸看到掘友狼族小狈开源的 genesis - 一个可以支持 SSR 和 CSR 渲染的微服务解决方案.总体来说思想不错,但是基于 Kubernetes 云原生部署方面一直没 ...

  8. 国内静态文件CDN服务介绍 国内js公共库

    国内静态文件CDN服务介绍 新浪SAE  介绍页 文件页 百度云 介绍页 七牛云存储介绍页 优势,可以提交没有的库,支持https,但证书不可信. 又拍云 介绍页 建议使用阿里云OSS自己上传所需文件 ...

  9. webpack 介绍 & 安装 & 常用命令

    webpack 介绍 & 安装 & 常用命令 webpack系列目录 webpack 系列 一:模块系统的演进 webpack 系列 二:webpack 介绍&安装 webpa ...

随机推荐

  1. c++:-7

    上一节主要学习C++中的函数模版.数据结构以及排序查找操作:c++:-6,本节学习C++的范型程序设计和STL: 范型程序设计 编写不依赖于具体数据类型的程序 将算法从特定的数据结构中抽象出来,成为通 ...

  2. Swift初探03 字符串操作

    字符串操作 01 获取长度 var a = "he l lo" print(a.count) // 计算空格,输出7 02 String.Index类型 String.Index类 ...

  3. unity---2d游戏杂记

    2d游戏制作的笔记 save Layout 增加配置 Packges文件夹 插件 调整视野 鼠标中键 拉近拉远 鼠标右键 平移 Alt+鼠标左键 移动视角 Pivot/Center 当前物体中心和多个 ...

  4. 个人冲刺(二)——体温上报app(一阶段)

    任务:完成了WenData类的编写,同时完成了SecondActivity.java SecondActivity.java package com.example.helloworld; impor ...

  5. django请求生命周期流程与路由层相关知识

    目录 请求生命周期流程图 路由层之路由匹配 无名有名分组 反向解析 无名有名分组反向解析 路由分发 名称空间 请求生命周期流程图 django请求生命周期流程图 路由层之路由匹配 我们都知道,路由层是 ...

  6. 分布式机器学习:逻辑回归的并行化实现(PySpark)

    1. 梯度计算式导出 我们在博客<统计学习:逻辑回归与交叉熵损失(Pytorch实现)>中提到,设\(w\)为权值(最后一维为偏置),样本总数为\(N\),\(\{(x_i, y_i)\} ...

  7. 差分优化建边(Tax)

    [Luogu P6822PA2012]Tax] (http://www.luogu.com.cn/problem/P6822") All right. Let's go! 题目描述 给出一个 ...

  8. 绿色城市智慧运营:Web 3D 垃圾分类 GIS 系统

    前言 感谢所有为上海疫情奉献的人,祈求上海疫情早日清零,中国加油,上海加油! <上海市生活垃圾管理条例>施行至今已有两年多,上海市民践行绿色低碳理念.主动参与生活垃圾分类的习惯基本养成,分 ...

  9. UiPath选择器之动态选择器的介绍和使用

    一.动态选择器的介绍 使用通配符, 能够替换字符串中的零个或多个字符的符号.这些在处理选择器中的动态更改的属性时非常有用. 二.动态选择器在UiPath中的使用 1.在设计库中新建一个Sequence ...

  10. 论HashMap、Hashtable、TreeMap、LinkedHashMap的内部排序

    参考文章 论HashMap.Hashtable.TreeMap.LinkedHashMap的内部排序