컴퓨터

🚀 웹 자동화의 시작! 초보자를 위한 Puppeteer 사용법 가이드

그놈 목소리 2025. 4. 1. 17:20
728x90
반응형
SMALL

 

Puppeteer는 구글 크롬 개발팀에서 만든 헤드리스 브라우저 자동화 도구입니다. 웹 스크래핑, UI 테스트, 자동 로그인 등 다양한 작업을 코드로 수행할 수 있어 많은 개발자들에게 사랑받고 있습니다. 이번 글에서는 Puppeteer를 처음 접하는 분들을 위해 설치부터 기본 사용법까지 쉽게 설명해보겠습니다. 🧐

1. Puppeteer란? 🤔

Puppeteer는 Node.js 환경에서 실행되는 라이브러리로, Chrome 또는 Chromium 브라우저를 제어할 수 있습니다. 이를 통해 사용자는 웹사이트를 직접 방문하지 않고도 프로그램을 통해 자동화할 수 있습니다.

주요 기능 ✨

  • 헤드리스 모드 지원: UI 없이 백그라운드에서 브라우저 동작 가능
  • 웹 스크래핑: 특정 페이지의 데이터를 가져오는 기능
  • 자동화 테스트: 웹사이트의 기능을 자동으로 테스트
  • 스크린샷 및 PDF 생성: 특정 페이지의 이미지를 저장하거나 PDF로 변환
  • 폼 자동 입력: 로그인 자동화, 검색어 입력 등

2. Puppeteer 설치하기 ⚙️

Puppeteer를 사용하려면 Node.js가 설치되어 있어야 합니다. 먼저 Node.js가 설치되어 있는지 확인한 후, 아래 명령어를 실행하여 Puppeteer를 설치하세요.

npm install puppeteer

설치가 완료되면 기본적인 Puppeteer 코드를 실행해볼 수 있습니다.

 

반응형

3. Puppeteer 기본 사용법 🏁

설치가 끝났다면, 간단한 크롤링 예제를 만들어봅시다. 다음 코드는 크롬 브라우저를 실행하고 구글 홈페이지의 제목을 가져오는 코드입니다.

const puppeteer = require('puppeteer');

(async () => {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto('https://www.google.com');
    const title = await page.title();
    console.log(`페이지 제목: ${title}`);
    await browser.close();
})();

위 코드를 실행하면 크롬 브라우저가 열리고, Google이라는 제목이 콘솔에 출력될 것입니다.

728x90

4. 스크린샷 찍기 📸

웹 페이지의 스크린샷을 저장하는 기능도 매우 유용합니다. 다음 코드를 실행하면 구글 홈페이지의 스크린샷을 google.png 파일로 저장할 수 있습니다.

const puppeteer = require('puppeteer');

(async () => {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto('https://www.google.com');
    await page.screenshot({ path: 'google.png' });
    await browser.close();
})();

5. 웹 크롤링 예제 📊

특정 웹사이트의 데이터를 가져오고 싶다면 evaluate() 함수를 활용할 수 있습니다. 예를 들어, 네이버 뉴스의 첫 번째 기사 제목을 가져오는 코드입니다.

const puppeteer = require('puppeteer');

(async () => {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto('https://news.naver.com');
    
    const headline = await page.evaluate(() => {
        return document.querySelector('div.hdline_article_tit a').innerText;
    });
    
    console.log(`헤드라인 뉴스: ${headline}`);
    await browser.close();
})();

6. 마치며 🎯

Puppeteer를 활용하면 웹사이트를 자동으로 제어하고 데이터를 수집할 수 있습니다. 이번 글에서는 기초적인 개념과 기본적인 코드 예제를 소개했지만, Puppeteer는 훨씬 더 다양한 기능을 제공합니다. 다음 단계로는 로그인 자동화, PDF 변환, SPA(Single Page Application) 크롤링 등의 고급 기능도 탐구해보세요!

SMALL

 

728x90
반응형
LIST