반응형
Node.js에서 주기적으로 HTML 페이지를 크롤링하기 위해 node-cron 모듈을 사용할 수 있습니다. 먼저, 해당 모듈을 설치해야 합니다.
터미널 또는 명령 프롬프트에서 다음 명령을 실행하여 모듈을 설치합니다:
npm install node-cron
그런 다음, 아래는 10초마다 HTML 페이지를 크롤링하는 예제 코드입니다. 이 코드에서는 axios를 사용하여 웹페이지를 가져오고, cheerio를 사용하여 HTML을 파싱합니다. 필요에 따라 아래와 같은 (예시)코드를 작성하여 웹페이지 크롤링 로직을 추가하실 수 있습니다.
const axios = require('axios');
const cheerio = require('cheerio');
const cron = require('node-cron');
// 크롤링할 페이지의 URL
const url = 'https://example.com';
// 크론 표현식: 매 10초마다 실행
cron.schedule('*/10 * * * * *', async () => {
try {
// 웹페이지 가져오기
const response = await axios.get(url);
// HTML 파싱
const $ = cheerio.load(response.data);
// TODO: 필요한 크롤링 로직을 추가
console.log('크롤링이 수행되었습니다.');
} catch (error) {
console.error('에러 발생:', error.message);
}
});
console.log('크롤링을 시작합니다.');
// 프로세스가 실행되는 동안 유지
process.stdin.resume();
이 코드에서는 axios를 사용하여 웹페이지를 가져오고, cheerio를 사용하여 HTML을 파싱하고 있습니다. 실제 크롤링 로직은 TODO 주석으로 표시된 부분에 추가하시면 됩니다.
크론 표현식은 '*/10 * * * * *'으로 설정되어 있어서 매 10초마다 코드 블록이 실행됩니다. 필요에 따라 크론 표현식을 조절하여 실행 간격을 변경할 수 있습니다.
반응형
댓글