Puppeteer는 DevTools 프로토콜을 통해 Chrome 또는 Chromium 브라우저를 제어할 수 있는 고급 API를 제공하는 Node.js 라이브러리입니다. 웹 스크래핑, 자동화된 테스트, 스크린샷 캡처 등을 위한 강력한 도구입니다. 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를 실행하려면 종속성, 권한 및 리소스를 처리하기 위한 신중한 설정이 필요합니다. 이 가이드를 따르면 서버 환경에서 웹 스크래핑이나 자동화된 테스트와 같은 작업을 위해 Puppeteer를 효과적으로 배포할 수 있습니다. 고급 사용 사례의 경우 프로세스 관리용 PM2, 컨테이너화용 Docker와 같은 도구를 사용하는 것이 좋습니다.
이 가이드를 다른 사람들과 자유롭게 공유하고, 지침을 따른 후 문제가 발생하면 댓글로 알려주시기 바랍니다.
위 내용은 서버에서 Puppeteer 실행: 전체 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!