카테고리 없음

nodejs 로 주기적으로 html 페이지를 크롤링

클레인 2024. 1. 27.
반응형

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초마다 코드 블록이 실행됩니다. 필요에 따라 크론 표현식을 조절하여 실행 간격을 변경할 수 있습니다.

반응형

댓글