Maison > interface Web > js tutoriel > Exécuter Puppeteer sur un serveur : un didacticiel complet

Exécuter Puppeteer sur un serveur : un didacticiel complet

Mary-Kate Olsen
Libérer: 2025-01-01 03:02:10
original
840 Les gens l'ont consulté

Running Puppeteer on a Server: A Complete Tutorial

Puppeteer est une bibliothèque Node.js qui fournit une API de haut niveau pour contrôler les navigateurs Chrome ou Chromium via le protocole DevTools. Il s'agit d'un outil puissant pour le web scraping, les tests automatisés, la capture de captures d'écran, etc. Bien que l'utilisation de Puppeteer localement soit simple, son exécution sur un serveur nécessite des considérations supplémentaires. Ce guide vous guidera à travers les étapes pour que Puppeteer soit opérationnel sur un serveur.


Préparation du serveur pour le marionnettiste

  • Mettre à jour le serveur

Cette étape est cruciale pour la bonne exécution de Puppeteer. Exécutez les commandes suivantes.

sudo apt update -y
sudo apt upgrade -y
Copier après la connexion
  • Installer les dépendances

Installez les dépendances suivantes pour garantir le bon fonctionnement de 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
Copier après la connexion
  • Installer Puppeteer

Exécutez la commande suivante pour installer la dernière version de Puppeteer, qui est toujours recommandée pour des performances optimales.

npm i puppeteer
Copier après la connexion

Utiliser le Marionnettiste

Vous pouvez utiliser l'extrait de code suivant pour vérifier que Puppeteer fonctionne correctement en appelant cette fonction sur l'itinéraire souhaité.

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();
Copier après la connexion

Conclusion

Exécuter Puppeteer sur un serveur nécessite une configuration minutieuse pour gérer les dépendances, les autorisations et les ressources. En suivant ce guide, vous pouvez déployer efficacement Puppeteer pour des tâches telles que le web scraping ou les tests automatisés dans un environnement serveur. Pour des cas d'utilisation plus avancés, envisagez d'utiliser des outils tels que PM2 pour la gestion des processus et Docker pour la conteneurisation.

N'hésitez pas à partager ce guide avec d'autres personnes et faites-nous savoir dans les commentaires si vous rencontrez des problèmes après avoir suivi les instructions.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal