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`);
|