사이트맵 크롤링하기
사이트맵은 검색 엔진에게 웹사이트의 중요한 페이지와 파일을 알려주는 역할을 합니다. 이 예제에서는 @crawlee/utils
모듈에서 제공하는 Sitemap
유틸리티 클래스를 사용하여 사이트맵에서 URL을 다운로드하고 크롤링하는 방법을 보여드립니다.
- Cheerio 크롤러
- Puppeteer 크롤러
- Playwright 크롤러
Run on
import { CheerioCrawler, Sitemap } from 'crawlee';
const crawler = new CheerioCrawler({
// 각 URL에 대해 호출되는 함수
async requestHandler({ request, log }) {
log.info(request.url);
},
maxRequestsPerCrawl: 10, // 최대 10개의 요청 제한 (sitemap을 크롤링하려면 사용하지 않음)
});
const { urls } = await Sitemap.load('https://crawlee.dev/sitemap.xml');
await crawler.addRequests(urls);
// 크롤러 실행
await crawler.run();
팁
Apify 플랫폼에서 이 예제를 실행하려면 Dockerfile에서 apify/actor-node-puppeteer-chrome
이미지를 선택하세요.
Run on
import { PuppeteerCrawler, Sitemap } from 'crawlee';
const crawler = new PuppeteerCrawler({
// 각 URL에 대해 호출되는 함수
async requestHandler({ request, log }) {
log.info(request.url);
},
maxRequestsPerCrawl: 10, // 최대 10개의 요청 제한 (sitemap을 크롤링하려면 사용하지 않음)
});
const { urls } = await Sitemap.load('https://crawlee.dev/sitemap.xml');
await crawler.addRequests(urls);
// 크롤러 실행
await crawler.run();
팁
Apify 플랫폼에서 이 예제를 실행하려면 Dockerfile에서 apify/actor-node-playwright-chrome
이미지를 선택하세요.
Run on
import { PlaywrightCrawler, Sitemap } from 'crawlee';
const crawler = new PlaywrightCrawler({
// 각 URL에 대해 호출되는 함수
async requestHandler({ request, log }) {
log.info(request.url);
},
maxRequestsPerCrawl: 10, // 최대 10개의 요청 제한 (sitemap을 크롤링하려면 사용하지 않음)
});
const { urls } = await Sitemap.load('https://crawlee.dev/sitemap.xml');
await crawler.addRequests(urls);
// 크롤러 실행
await crawler.run();