기술나눔

Puppeteer를 사용하여 데이터 스크래핑 및 JSON으로 저장

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

파이썬_00044.png

인형사 소개

Puppeteer는 Chrome 또는 Chromium의 헤드리스 버전을 제어하기 위한 고급 API를 제공하는 Google Chrome 팀에서 개발한 노드 라이브러리입니다. Puppeteer는 페이지 탐색, 콘텐츠 스크래핑, 스크린샷, PDF 생성 등을 포함한 다양한 작업을 수행할 수 있습니다.

주요 특징

  • 헤드리스 브라우저 제어: 브라우저 인터페이스를 열지 않고도 작업을 수행합니다.
  • 크로스 플랫폼: Windows, Linux 및 macOS를 지원합니다.
  • 풍부한 API: 풍부한 API를 제공하여 사용자 행동을 시뮬레이션합니다.

데이터 스크래핑을 위해 Puppeteer 사용

기본 프로세스

  1. 브라우저 시작: Puppeteer를 사용하여 헤드리스 브라우저를 시작합니다.
  2. 페이지 열기: 새 페이지 인스턴스를 생성하고 대상 URL로 이동합니다.
  3. 페이지가 로드될 때까지 대기: 페이지가 완전히 로드되는지 확인합니다.
  4. 콘텐츠 가져오기: Puppeteer에서 제공하는 API를 사용하여 페이지 콘텐츠를 가져옵니다.
  5. 로깅: 캡처된 내용이나 관련 정보를 로그 파일에 기록합니다.
  6. 브라우저 닫기: 작업이 완료된 후 브라우저를 닫습니다.

구현 프로세스

웹페이지에서 테이블 데이터를 크롤링해야 한다고 가정해 보겠습니다. 이를 달성하기 위한 단계는 다음과 같습니다.

const puppeteer = require('puppeteer');
const http = require('http');

const proxyHost = "www.16yun.cn";
const proxyPort = "5445";
const proxyUser = "16QMSOML";
const proxyPass = "280651";

// 创建HTTP代理服务器
const proxy = http.createServer((req, res) =