Puppeteer로 파일을 다운로드하는 방법?
Puppeteer로 파일을 다운로드하는 방법은 간단합니다. 불필요한 복잡성 없이 효율적으로 수행하는 예시는 다음과 같습니다.
여기서는 다운로드 동작을 설정하고 다운로드 경로를 지정하여 파일 다운로드를 자동화할 것입니다.
const puppeteer = require('puppeteer');
const path = require('path');
(async () => {
const downloadPath = path.resolve('./download'); // 다운로드 경로 정의
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
// 다운로드 동작 및 경로 설정
await page._client.send('Page.setDownloadBehavior', {
behavior: 'allow',
downloadPath: downloadPath
});
await page.goto('https://example.com/download', { waitUntil: 'networkidle2' });
// 다운로드 버튼 클릭
await page.click('#downloadButton'); // 필요 시 선택자 조정
console.log('파일 다운로드 시작.');
await browser.close();
})();
설명:
- 다운로드 경로:
path.resolve를사용하여 파일이 다운로드될 경로를 설정합니다. - 브라우저 실행: 헤드리스 브라우저 인스턴스를 시작합니다.
- 다운로드 동작 설정: 다운로드 허용 및 다운로드 디렉터리 지정을 위해 Puppeteer를 구성합니다.
- URL로 이동: 다운로드 링크가 포함된 웹페이지로 이동합니다.
- 클릭 시뮬레이션: 다운로드 버튼을 클릭하여 파일 다운로드를 시작합니다.
고급 파일 처리를 위해서는 자동 CAPTCHA 해결 및 복잡한 웹사이트 상호작용 처리와 같은 향상된 기능을 제공하는 Bright Data의 Scraping Browser를 참조할 수 있습니다. 이는 대규모 웹 스크래핑 프로젝트에 이상적입니다.