[javascript] Express.js에서의 웹 스크래핑 방법
소개
웹 스크래핑은 웹페이지에서 필요한 데이터를 추출하는 과정을 말합니다. 이 글에서는 Express.js 프레임워크를 사용하여 Node.js 기반의 웹 스크래퍼를 만드는 방법에 대해 알아보겠습니다.
패키지 설치
먼저 Express.js를 사용하기 위해 프로젝트 디렉토리에서 다음 명령을 사용하여 Express.js를 설치합니다.
npm install express
추가로 웹 스크래핑에 필요한 패키지인 axios
와 cheerio
도 설치해야합니다.
npm install axios cheerio
웹 스크래퍼 만들기
이제 Express.js 애플리케이션을 생성하고, 웹 스크래퍼를 만들어보겠습니다.
const express = require('express');
const axios = require('axios');
const cheerio = require('cheerio');
const app = express();
app.get('/scrape', async (req, res) => {
try {
const url = 'https://example.com'; // 스크랩할 웹페이지 URL
const response = await axios.get(url);
const $ = cheerio.load(response.data);
// 추출할 데이터에 맞게 선택자를 수정하여 데이터 추출
const title = $('h1').text();
const description = $('p').text();
res.json({ title, description });
} catch (error) {
console.error(error);
res.status(500).json({ error: 'An error occurred' });
}
});
app.listen(3000, () => {
console.log('Server started on port 3000');
});
위 코드에서 /scrape
경로로 GET 요청이 들어오면 해당 경로에 웹페이지를 스크랩하여 제목과 설명을 추출하고, JSON 형식으로 반환합니다.
실행 및 테스트
터미널에서 다음 명령을 실행하여 Express.js 애플리케이션을 실행합니다.
node app.js
웹브라우저나 API 테스트 도구를 사용하여 http://localhost:3000/scrape
경로로 GET 요청을 보내면 웹페이지의 제목과 설명이 반환되는 것을 확인할 수 있습니다.
결론
Express.js를 사용하여 웹 스크래퍼를 만들 수 있습니다. 이를 통해 웹페이지에서 필요한 데이터를 추출하여 활용할 수 있습니다.