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

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

【问题讨论】:

    标签: node.js amazon-ec2 chromium puppeteer


    【解决方案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 等...)而异。

    按照这些步骤,

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

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

    【讨论】:

      【解决方案3】:

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

      • npm i

      • npm start

      puppeteer 自带 chromium 版本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-24
        • 2020-08-27
        • 1970-01-01
        • 2019-10-17
        • 2014-05-13
        • 1970-01-01
        • 1970-01-01
        • 2022-06-30
        相关资源
        最近更新 更多