본문 바로가기
Node.js

[Node.js] Puppeteer를 이용한 웹크롤링

by yonikim 2021. 4. 20.
728x90

Puppteteer 란?

Puppeteer 는 Headless Chrome 혹은 Chromium 를 제어하도록 도와주는 라이브러리이다.

  • SPA(Single Page Application) 화면의 렌더링이 가능하다.
  • 렌더링후 키보드, 마우스 입력 제어할 수 있다.
  • 웹페이지의 자동 테스트 도구를 만들 수 있다.
  • 각각의 웹페이지 crawling 이 가능하다.
  • 접속한 페이지를 스크린샷을 찍거나 PDF 으로 만들 수 있다.

 

시작하기

1. puppeteer 설치하기

$ npm install puppeteer

 

2. crawler.js

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: false }); # default is true
  const page = await browser.newPage();
  
  await page.setViewport({
    width: 800,
    height: 600
  });
  
  await page.goto('https://example.com');
  await page.screenshot({ path: 'example.png' });

  await browser.close();
})();
  • headless: 기본값은 true 이고, false 로 설정하면, 브라우저가 실행된다.
  • default Viewport: 기본값은 800x600 이고, 화면이 노출될 사이즈를 지정할 수 있다.
$ node crawler.js

 

 

References

developers.google.com/web/tools/puppeteer/get-started

 

 

728x90