웹사이트의 모든 링크 크롤링하기
이 예제에서는 enqueueLinks()
메서드를 사용하여 크롤러가 페이지를 탐색할 때마다 새로운 링크를 RequestQueue
에 추가합니다. maxRequestsPerCrawl
옵션을 제거하면 도메인의 모든 URL을 찾는 데에도 활용할 수 있습니다.
팁
- Cheerio 크롤러
- Puppeteer 크롤러
- Playwright 크롤러
Run on
import { CheerioCrawler } from 'crawlee';
const crawler = new CheerioCrawler({
async requestHandler({ request, enqueueLinks, log }) {
log.info(request.url);
// 페이지에서 모든 링크를 RequestQueue에 추가
await enqueueLinks();
},
maxRequestsPerCrawl: 10, // 최대 10개의 요청 제한 (모든 링크를 크롤링하려면 사용하지 않음)
});
// 초기 요청으로 크롤러 실행
await crawler.run(['https://crawlee.dev']);
팁
Apify 플랫폼에서 이 예제를 실행하려면 Dockerfile에서 apify/actor-node-puppeteer-chrome
이미지를 선택하세요.
Run on
import { PuppeteerCrawler } from 'crawlee';
const crawler = new PuppeteerCrawler({
async requestHandler({ request, enqueueLinks, log }) {
log.info(request.url);
// 페이지에서 모든 링크를 RequestQueue에 추가
await enqueueLinks();
},
maxRequestsPerCrawl: 10, // 최대 10개의 요청 제한 (모든 링크를 크롤링하려면 사용하지 않음)
});
// 초기 요청으로 크롤러 실행
await crawler.run(['https://crawlee.dev']);
팁
Apify 플랫폼에서 이 예제를 실행하려면 Dockerfile에서 apify/actor-node-playwright-chrome
이미지를 선택하세요.
Run on
import { PlaywrightCrawler } from 'crawlee';
const crawler = new PlaywrightCrawler({
async requestHandler({ request, enqueueLinks, log }) {
log.info(request.url);
// 페이지에서 모든 링크를 RequestQueue에 추가
await enqueueLinks();
},
maxRequestsPerCrawl: 10, // 최대 10개의 요청 제한 (모든 링크를 크롤링하려면 사용하지 않음)
});
// 초기 요청으로 크롤러 실행
await crawler.run(['https://crawlee.dev']);