Puppeteer は、DevTools プロトコルを介して Chrome または Chromium ブラウザを制御するための高レベル API を提供する Node.js ライブラリです。これは、Web スクレイピング、自動テスト、スクリーンショットのキャプチャなどのための強力なツールです。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 の最新バージョンをインストールします。これは、最適なパフォーマンスのために常に推奨されます。
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 サイトの他の関連記事を参照してください。