반응형
const axios = require("axios");
const cheerio = require("cheerio");
const iconv = require("iconv-lite");
const url = "https://finance.naver.com/item/news_news.nhn?code=005930&page=";
async function getNews(targetDate) {
let news = [];
let page = 1;
let hasNextPage = true;
while (hasNextPage) {
let response = await axios.get(url + page, {
responseType: "arraybuffer",
});
let html = iconv.decode(response.data, "EUC-KR").toString();
let $ = cheerio.load(html);
let items = $('.type5 tbody tr');
if (items.length === 0) {
hasNextPage = false;
continue;
}
items.each(function (index, element) {
const title = $(element).find('.title a').text().trim();
const date = $(element).find('.date').text().trim();
const link = $(element).find('.title a').attr('href');
console.log(date.split(" ")[0] + " " + targetDate.split(" ")[0]);
if (date.split(" ")[0] === targetDate.split(" ")[0]) {
news.push({
date: date,
title: title,
link: link,
});
}
});
page++;
if(page > 5){
break;
}
}
return news;
}
(async () => {
let targetDate = "2023.02.10";
let news = await getNews(targetDate);
console.log(news);
})();
반응형
'프로그래밍 > 잡동산이' 카테고리의 다른 글
[잡담] 오늘은 흐리다. (0) | 2023.03.01 |
---|---|
[nodejs] mongodb 접속 방법 (0) | 2023.03.01 |
[키움 api] 키움증권 api를 이용해서 테마 그룹 가져오기 (0) | 2023.02.12 |
[nodejs] CRUD 기본코드 (0) | 2023.02.11 |
[MongoDB] 우분투 재시작시 자동 실행 방법 (0) | 2023.02.11 |