ホームページ > ウェブフロントエンド > jsチュートリアル > サーバー上での Puppeteer の実行: 完全なチュートリアル

サーバー上での Puppeteer の実行: 完全なチュートリアル

Mary-Kate Olsen
リリース: 2025-01-01 03:02:10
オリジナル
839 人が閲覧しました

Running Puppeteer on a Server: A Complete Tutorial

Puppeteer は、DevTools プロトコルを介して Chrome または Chromium ブラウザを制御するための高レベル API を提供する Node.js ライブラリです。これは、Web スクレイピング、自動テスト、スクリーンショットのキャプチャなどのための強力なツールです。Puppeteer をローカルで使用するのは簡単ですが、サーバー上で実行するには追加の考慮事項が必要です。このガイドでは、Puppeteer をサーバー上で起動して実行する手順を説明します。


Puppeteer 用のサーバーの準備

  • サーバーを更新します

このステップは、Puppeteer を正常に実行するために重要です。以下のコマンドを実行します。

sudo apt update -y
sudo apt upgrade -y
ログイン後にコピー
  • 依存関係をインストールする

Puppeteer がスムーズに動作するように、次の依存関係をインストールします。

sudo apt-get install libpangocairo-1.0-0 libx11-xcb1 libxcomposite1 libxcursor1 libxdamage1 libxi6 libxtst6 libnss3 libcups2 libxss1 libxrandr2 libatk1.0-0 libgtk-3-0 libasound2t64
ログイン後にコピー
  • Puppeteer をインストールします

次のコマンドを実行して、Puppeteer の最新バージョンをインストールします。これは、最適なパフォーマンスのために常に推奨されます。

npm i puppeteer
ログイン後にコピー

パペッティアの使用

次のコード スニペットを使用すると、目的のルートでこの関数を呼び出すことで、Puppeteer が正しく機能していることを確認できます。

const puppeteer = require("puppeteer");

/**
 * Launches a Puppeteer browser, navigates to a webpage, and then closes the browser.
 *
 * Launch Options:
 * - headless: Run the browser in headless mode (no GUI).
 * - args:
 *   - "--no-sandbox": Required if running as the root user.
 *   - "--disable-setuid-sandbox": Optional, try if you encounter sandbox errors.
 */

const runPuppeteer = async () => {
  try {
    // Launch a Puppeteer browser instance with custom arguments
    const browser = await puppeteer.launch({
      headless: true,
      args: [
        "--no-sandbox",
        "--disable-setuid-sandbox",
      ],
    });

    // Open a new page in the browser
    const page = await browser.newPage();

    // Navigate to the specified URL
    await page.goto("https://www.google.com");

    console.log("Navigation to Google completed.");

    // Close the browser
    await browser.close();
    console.log("Browser closed successfully.");
  } catch (error) {
    console.error("An error occurred:", error);
  }
};

// Execute the function
runPuppeteer();
ログイン後にコピー

結論

サーバー上で Puppeteer を実行するには、依存関係、権限、リソースを処理するための慎重なセットアップが必要です。このガイドに従うことで、Web スクレイピングやサーバー環境での自動テストなどのタスクに Puppeteer を効果的にデプロイできます。より高度なユースケースについては、プロセス管理には PM2、コンテナ化には Docker などのツールの使用を検討してください。

このガイドを他の人とお気軽に共有してください。手順に従った後に問題が発生した場合は、コメントでお知らせください。

以上がサーバー上での Puppeteer の実行: 完全なチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート