본문으로 건너뛰기

파일 다운로드

웹 크롤링을 하다 보면 이미지, PDF 또는 기타 바이너리 파일을 다운로드해야 하는 경우가 있습니다. 이 예제에서는 Crawlee를 사용하여 파일을 다운로드하고 기본 키-값 저장소에 저장하는 방법을 보여드립니다.

이 스크립트는 FileDownload 크롤러 클래스를 사용하여 HTTP 요청으로 여러 파일을 다운로드하고 그 내용을 기본 키-값 저장소에 저장합니다. 로컬 환경에서는 데이터가 ./storage/key_value_stores/default 디렉토리에 파일로 저장됩니다.

Run on
import { FileDownload } from 'crawlee';

// FileDownload - 파일을 다운로드하는 사용자 지정 크롤러 인스턴스.
const crawler = new FileDownload({
async requestHandler({ body, request, contentType, getKeyValueStore }) {
const url = new URL(request.url);
const kvs = await getKeyValueStore();

await kvs.setValue(url.pathname.replace(/\//g, '_'), body, { contentType: contentType.type });
},
});

// 크롤링할 초기 URL 목록. 여기서는 몇 개의 고정 URL만 사용합니다.
await crawler.addRequests([
'https://pdfobject.com/pdf/sample.pdf',
'https://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4',
'https://upload.wikimedia.org/wikipedia/commons/c/c8/Example.ogg',
]);

// 다운로더를 실행하고 완료를 기다립니다.
await crawler.run();

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