Puppeteer 정리

rkdghwnd·2023년 6월 13일
0
post-thumbnail

Puppeteer

구글에서 만든 크롤링 라이브러리
chromium 또는 headless chrome 을 활용해 제어를 한다.

  • chromium : 구글에서 개발하는 오픈 소스 웹 브라우저
    구글 크롬 브라우저에 몇가지 기능을 추가시킨 브라우저로 Microsoft Edge, Brave, 삼성 인터넷, 네이버 웨일 등이 chromium 기반으로 만들어졌다.

  • headless : 백그라운드에서 작동하는 모드이다.
    일반 사용자가 브라우저를 이용할 때 처럼 브라우저 창이 시각적으로 보이지 않지만
    실제 브라우저는 동작하게 된다. non-headless(창이 시각적으로 켜지는것)보다 작동 속도가 빠르다.

설치 방법

pupetter 설치 문서

npm i pupeteer

기본 문법

example.js

  • puppeteer : puppeteer 모듈

  • puppeteer.launch() : 브라우저 창 열기

    • headless : true 면 headless로 실행, false면 non-headless로 실행
    • args: 브라우저 관련 여러 옵션을 설정할수 있음,
  • browser.newPage() : 브라우저에서 새 탭 열기

  • page.setUserAgent() : userAgent 속성을 설정할 수 있음
    크롬 콘솔 창에 navigator.userAgent 을 입력하면 userAgent 속성을 확인할 수 있음

  • page.goto() : 특정 페이지로 이동

  • page.waitForSelector() : 특정 html 요소가 나올 때 까지 코드 실행을 멈추기

  • page.evaluate() : 브라우저 안에서 처리해야 하는 작업들을 처리하는 곳
    querySelector나 js관련 메소드, 브라우저 기본 제공 메소드 등은 evaluate()에서 처리해야 한다.
    return 된 값은 프로미스 객체의 반환값이 된다.

  • page.close() : 새 탭 닫기

  • browser.close() : 브라우저 닫기

profile
rkdghwnd's dev story

0개의 댓글