import Parser from "rss-parser";
import { HTMLToJSON } from "html-to-json-parser";
export default defineEventHandler(async (event) => {
let array = [];
const parser = new Parser();
try {
const feed = await parser.parseURL(
"https://news.google.com/rss?&hl=zh-TW&gl=TW&ceid=TW:zh-Hant",
);
feed.items.forEach(async (item) => {
const rawRelatedNews = await HTMLToJSON(item.content, true);
const relatedNews = JSON.parse(rawRelatedNews.replace("ol", ""));
array.push({
title: item.title,
link: item.link,
date: item.pubDate,
content: relatedNews,
});
console.log(item.title);
});
return array;
} catch (error) {
console.error("Error fetching RSS:", error);
throw createError({
statusCode: 500,
message: "Failed to fetch RSS feed",
});
}
});