본문으로 건너뛰기

기본 크롤러

이것은 BasicCrawler와 같은 Crawlee의 기본 구성 요소를 보여주는 가장 기본적인 예제입니다. 하지만 이렇게 깊이 들어갈 필요는 없으며, CheerioCrawler 또는 PlaywrightCrawler와 같은 기능이 완벽한 크롤러로 시작하는 것이 더 좋습니다.

이 스크립트는 sendRequest 유틸리티 함수(내부적으로 got-scraping npm 모듈 사용)를 사용하여 일반 HTTP 요청으로 여러 웹 페이지를 다운로드하고, 기본 데이터셋에 원시 HTML과 URL을 저장합니다. 로컬 환경에서는 데이터가 ./storage/datasets/default 경로에 JSON 파일로 저장됩니다.

Run on
import { BasicCrawler } from 'crawlee';

// BasicCrawler를 생성합니다 - 사용자가 직접 크롤링 로직을 구현할 수 있는 가장 기본적인 크롤러입니다.
const crawler = new BasicCrawler({
// 이 함수는 크롤링할 각 URL마다 호출됩니다.
async requestHandler({ pushData, request, sendRequest, log }) {
const { url } = request;
log.info(`${url} 처리 중...`);

// crawlee의 sendRequest 유틸리티 메서드를 사용하여 페이지 HTML을 가져옵니다
// 기본적으로 현재 처리 중인 요청을 사용하므로 직접 제공할 필요가 없습니다
// 필요한 경우 사용자 정의 요청을 제공할 수도 있습니다
const { body } = await sendRequest();

// HTML과 URL을 기본 데이터셋에 저장합니다
await pushData({
url,
html: body,
});
},
});

// 크롤링할 초기 URL 목록입니다. 여기서는 몇 개의 고정된 URL만 사용합니다.
await crawler.addRequests([
'https://www.google.com',
'https://www.example.com',
'https://www.bing.com',
'https://www.wikipedia.com',
]);

// 크롤러를 실행하고 완료될 때까지 기다립니다.
await crawler.run();

console.log('크롤러가 완료되었습니다.');