如何使用 Docker Toolbox 运行 Splash?


简介

Splash 是一个强大的工具,用于渲染基于 JavaScript 的网站,使其成为网络抓取和数据提取的重要工具。在本教程中,我们将向您展示如何使用 Docker Toolbox 运行 Splash,Docker Toolbox 是 Docker 的一个较旧版本,不再维护,但仍可下载。

先决条件

在开始之前,您需要在您的机器上安装 Docker Toolbox。Docker Toolbox 是 Docker 的一个版本,旨在在较旧的系统和/或没有原生虚拟化的系统上运行。它适用于 Windows、macOS 和 Linux。

按照以下步骤运行 Splash

  • 打开 Docker 快速启动终端,它将启动 Docker Toolbox。

  • 运行以下命令从 Docker Hub 拉取最新版本的 Splash Docker 镜像:

$ docker pull scrapinghub/splash 

此命令将下载最新版本的 Splash Docker 镜像到您的机器上。

  • 运行以下命令从 Splash Docker 镜像启动一个新的容器:

$ docker run -p 8050:8050 scrapinghub/splash 

此命令将从 Splash Docker 镜像启动一个新的容器,并将其绑定到您机器上的 8050 端口。-p 8050:8050 选项指定容器应绑定到主机上的 8050 端口,这允许您从 Web 浏览器访问 Splash Web 界面。

  • 通过在 Web 浏览器中访问以下 URL 来访问 Splash Web 界面:

https://127.0.0.1:8050

如果您在 Windows 上使用 Docker Toolbox,则需要使用 Docker 虚拟机的 IP 地址而不是 localhost 来访问 Splash Web 界面。您可以在 Docker 快速启动终端中运行以下命令找到 Docker 虚拟机的 IP 地址:

$ docker-machine ip 

例如,如果 Docker 虚拟机的 IP 地址为 192.168.99.100,您将在 Web 浏览器中访问以下 URL 以访问 Splash Web 界面:

http://192.168.99.100:8050

Docker Desktop 和 Docker Toolbox 之间的区别

下表总结了 Docker Desktop 和 Docker Toolbox 之间的区别:

属性

Docker Desktop

Docker Toolbox

维护状态

当前

不再维护

支持的操作系统

Windows、macOS、Linux

Windows、macOS

虚拟化

原生

Oracle VirtualBox

性能

更快

更慢

附加功能

Kubernetes 支持、自动更新

Splash 的功能

随着 Splash 容器的运行和 Web 界面的访问,您现在可以使用 Splash 渲染基于 JavaScript 的网站并从中提取数据。以下是一些您可以使用 Splash 执行的操作示例:

  • 渲染网站 - Splash 允许您像 Web 浏览器一样渲染网站,这在网站内容使用 JavaScript 动态生成的情况下非常有用。您可以使用 Splash 通过向 Splash 服务器发出请求并指定要渲染的网站的 URL 来检索网站的完整渲染 HTML。

  • 运行自定义 JavaScript - 除了渲染网站之外,Splash 还允许您在它渲染的网站上运行自定义 JavaScript。这在您需要对网站内容执行其他处理或网站内容不容易通过 DOM 访问的情况下非常有用。

  • 从网站提取数据 - Splash 包含几个功能,使从网站提取数据变得容易,包括对 XPath 和 CSS 选择器的支持。您可以使用 Splash 检索网站 HTML 中的特定元素,或使用自定义 JavaScript 从网站的 DOM 中提取数据。

  • 无头浏览器 - Splash 可以用作无头浏览器,这意味着它可以在没有 GUI 的情况下以编程方式控制和访问。这使得将 Splash 集成到自动化工作流程或自定义脚本中变得很容易。

  • 负载均衡 - Splash 包含内置的负载均衡功能,允许您在多个 Splash 实例之间分配渲染请求。这在您需要扩展渲染容量或希望确保渲染服务的可用性时非常有用。

  • HTTP 缓存 - Splash 包含一个 HTTP 缓存,允许它存储和重用以前获取的资源,这可以提高渲染性能并减少带宽使用。

  • 自定义中间件 - Splash 允许您编写自定义中间件脚本,可用于修改或增强渲染请求或响应。这在您需要添加自定义功能或修改 Splash 的行为时非常有用。

结论

通过按照这些步骤,您现在应该能够使用 Docker Toolbox 运行 Splash。您可以浏览 Splash Web 界面并尝试其功能,例如渲染网站和运行自定义 JavaScript。总的来说,Splash 是一个强大的工具,用于渲染基于 JavaScript 的网站并从中提取数据。无论您是将其用于网络抓取、数据提取还是任何其他目的,Splash 都可以帮助您高效有效地完成工作。

更新于: 2023年1月30日

369 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告