📜  在 heroku 上运行 puppepeteer (1)

📅  最后修改于: 2023-12-03 14:50:55.975000             🧑  作者: Mango

在 Heroku 上运行 Puppeteer

Puppeteer 是一个 Node.js 库,它提供了一个高级 API 来操作 Headless Chrome 或 Chromium。它是由 Google 开发和维护的,被广泛用于自动化测试、爬虫和数据抓取等应用场景。

在 Heroku 上运行 Puppeteer 可以让我们方便地部署和管理我们的 Puppeteer 应用。下面是一些关于如何在 Heroku 上运行 Puppeteer 的提示:

1. 创建一个 Heroku 应用

首先,我们需要在 Heroku 上创建一个新的应用程序。可以使用 Heroku CLI 命令行工具或者网站进行创建。

$ heroku create my-puppeteer-app
2. 安装 Puppeteer

我们需要在我们的应用程序中安装 Puppeteer。可以使用 npm 或者 yarn 进行安装:

$ npm install puppeteer
3. 配置 Heroku Builpack

由于 Puppeteer 需要 Chromium 运行,我们需要在 Heroku 上配置 Chromium 的环境。可以使用 Heroku 上的以下两个 Builpack:

这两个 Builpack 会在应用程序的 Dyno 运行之前下载并安装 Chromium。

$ heroku buildpacks:add https://github.com/heroku/heroku-buildpack-chromium.git
$ heroku buildpacks:add https://github.com/heroku/heroku-buildpack-google-chrome.git
4. 建立服务器

我们可以使用 Express 框架或者其他 Node.js 框架来建立我们的服务器,并在其中使用 Puppeteer 实现自动化测试、爬虫和数据抓取等功能。

const express = require("express");
const puppeteer = require("puppeteer");

const app = express();

app.get("/", async (req, res) => {
  const browser = await puppeteer.launch({args: [
    '--no-sandbox',
    '--disable-setuid-sandbox',
  ]});
  const page = await browser.newPage();
  await page.goto("https://www.google.com");

  const title = await page.title();

  await browser.close();

  res.send(`Title of the page is: ${title}`);
});

const port = process.env.PORT || 3000;
app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`);
});
5. 部署应用程序

最后,我们需要将我们的应用程序部署到 Heroku。我们可以使用 git 将代码推送到 Heroku 应用程序的 Git 仓库。

$ git push heroku main

现在,我们的应用程序已经成功部署到 Heroku 上,并可以使用各种 Web 应用程序自动化功能。

以上就是在 Heroku 上运行 Puppeteer 的介绍,如果你想进一步学习 Puppeteer 或者自动化测试、爬虫和数据抓取等领域的知识,可以访问官方文档和相关网站。