web/utils/talks.js

29 lines
795 B
JavaScript
Raw Normal View History

2023-12-20 23:14:44 +01:00
import { parseFeed } from "https://deno.land/x/rss/mod.ts";
import * as cheerio from "https://esm.sh/cheerio@1.0.0-rc.12";
2024-01-31 01:57:12 +01:00
const resp = await fetch(
"https://www.youtube.com/feeds/videos.xml?channel_id=UCaO_vLpj164um5maEsCuEbw",
);
const xml = await resp.text();
const feed = await parseFeed(xml);
2023-12-20 23:14:44 +01:00
2024-01-31 01:57:12 +01:00
const talks = [];
2023-12-20 23:14:44 +01:00
for (const entry of feed.entries) {
2024-01-31 01:57:12 +01:00
console.log(entry);
2023-12-20 23:14:44 +01:00
2024-01-31 01:57:12 +01:00
//const $ = cheerio.load(entry.content.value)
talks.push({
url: entry.links[0].href,
title: entry.title.value,
img: entry["media:group"]["media:thumbnail"].url.replace(
"hqdefault",
"maxresdefault",
),
date: entry.published,
});
2023-12-20 23:14:44 +01:00
}
//console.log(articles)
2024-01-31 01:57:12 +01:00
await Deno.writeTextFile("./src/talks.json", JSON.stringify(talks, null, 2));
console.log(`File ./src/talks.json saved`);