Ubuntu服务器安装puppeteer

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu服务器安装puppeteer相关的知识,希望对你有一定的参考价值。

参考技术A 配置位置

Puppeteer:如何在 ec2 服务器上安装 puppeteer

【中文标题】Puppeteer:如何在 ec2 服务器上安装 puppeteer【英文标题】:Puppeteer : How to install puppeteer on ec2 server 【发布时间】:2019-04-24 00:16:41 【问题描述】:

我想在 ec2 服务器上安装 Puppeteer。那么我是否需要在需要抓取数据的每台机器上安装 puppeteer 和 chromium。

【问题讨论】:

【参考方案1】:

您只需要安装puppeteerpuppeteer 自动下载适用于它的 Chromium 版本 - 一切都开箱即用!

所以一旦你安装了puppeteer,你就可以开始了!

有关更多信息,请参阅puppeteer 自述文件:https://github.com/GoogleChrome/puppeteer#readme

【讨论】:

感谢@AJC24。但我还有一个疑问。在服务器上安装 Puppeteer 后,它是在服务器还是本地机器上安装 chromium。 如果你直接在服务器上完成安装,那么服务器也应该有 Chromium 安装。 那我们不需要在本地机器上安装 chromium 了吧? 没错。一切都将从您的服务器运行。如果你想在一台机器上运行puppeteer,安装puppeteer,然后那台机器就拥有了它需要的一切。之后不需要任何额外的安装。因此,如果您希望在您的服务器上安装puppeteer不是您的本地计算机,那么您只需要在您的服务器上安装puppeteer。就是这样。 我在 EC2 上遇到以下错误。 /opt/casper_web/node_modules/puppeteer/.local-chromium/linux-599821/chrome-linux/chrome: error while加载共享库:libXcomposite.so.1:无法打开共享对象文件:没有这样的文件或目录【参考方案2】:

将 puppeteer 安装到 EC2 可能是一件棘手的事情。还有一个问题没有解决。

要回答您的问题,您不必担心单独下载 Chromium,因为 npm i puppeteer 会负责下载与 puppeteer 兼容的 Chromium 并负责其余的工作。

但是,您将遇到的更麻烦的问题是确保在 EC2 上安装所需的依赖项以运行 Puppeteer。这些依赖项因发行版(CentOS、Ubuntu/Debian 等...)而异。

按照这些步骤,

    安装所需的所有依赖项。您可以参考此链接获取列表, https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md#chrome-headless-doesnt-launch-on-unix 安装完所有依赖项后,安装npm 并在.npmrc 中配置代理(如果您在VPC/proxy 后面)。 然后像往常一样继续使用npm i puppeteer 并像往常一样继续

让我知道这是否有效,如果您有任何疑问,请联系我。

【讨论】:

【参考方案3】:

安装 puppeteer 时,会自动安装 chromium。您唯一需要注意的是,您应该以无头模式运行它.. 如果您想以非无头模式(即使用 GUI)运行它,您需要有一个带有 EC2 的 VNC 服务器并启动脚本通过 VNC。只要您不需要特别以非无头模式运行它,您需要做的就是

npm i

npm start

puppeteer 自带 chromium 版本。

【讨论】:

以上是关于Ubuntu服务器安装puppeteer的主要内容,如果未能解决你的问题,请参考以下文章

sh 在Ubuntu 14上安装Puppet 4.2

centos及ubuntu安装 Puppeteer/rendertron所需的依赖包

Puppeteer:如何在 ec2 服务器上安装 puppeteer

[自动化]Puppet服务安装和部署

puppet------安装

Puppet的安装和初使用