크롤링의 진정한 목적은 HTML 파싱이 아니겠는가.
일단 HTML을 한번 받아와 보자.
일단 쳐라.
const puppeteer = require("puppeteer");
const fs = require("fs");
const main = async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(
"https://sports.news.naver.com/kbaseball/record/index.nhn?category=kbo",
//wait옵션을 지정해줄수 있다.
{ waitUntil: "networkidle2" }
);
//일단 5초간 대기
await page.waitFor(5000);
const html = await page.content();
//역시 Screenshot과 마찬가지로 현재 폴드의 KBO.html 로 저장 하였다.
fs.writeFileSync("KBO.html", html);
await browser.close();
};
main();
내가 좋아하는 야구의 순위를 확인 하기 위한 페이지를 가져와 보았다.
우선 오늘은 페이지를 가져 오는 정도에서 만족하고 다음에 하부 파싱 하는걸 작성하겠다.
아래는 waitUntil 의 옵션이다.
(출처 : http://magic.wickedmiso.com/138)
옵 션 |
설 명 |
load |
· load 이벤트가 시작되면 탐색이 완료되는 것으로 간주한다. |
docntentload |
· HTML 문서가 완전히 로드 및 파싱되었을 경우(DOMContentLoaded 이벤트) 탐색이 완료되는 것으로 간주한다. |
networkidle0 |
· 최소한 500ms 동안 네트워크 연결이 0개 이상 없을때 탐색이 완료되는 것으로 간주한다. |
networkidle2 |
· 최소한 500ms 동안 두 개 이상의 네트워 연결이 없을 때 탐색이 완료되는 것으로 간주한다. |
'it > Node.js' 카테고리의 다른 글
Puppeteer를 이용한 크롤링(Crawling) - HTML파싱 (0) | 2020.03.09 |
---|---|
Puppeteer를 이용한 크롤링(Crawling) - 스크린샷 (0) | 2020.03.09 |
Puppeteer를 이용한 크롤링(Crawling) (0) | 2020.03.08 |
윈도우 node.js 설치 (0) | 2017.03.07 |
node.js oracle db 설치 (0) | 2015.06.25 |