Open2
denoでRSSからタイトルとURLを取得
ちょっとしたプログラムのために。せっかくなのでdenoでRSSからタイトルとURLを取得するやり方を調べる。
denoのサードパーティモジュールのサンプルそのまま、
import { parseFeed } from "https://deno.land/x/rss/mod.ts";
const response = await fetch(
"https://deno.com/feed",
);
const xml = await response.text();
const { entries } = await parseFeed(xml);
console.log(entries[0]);
結果は、こんな感じ。
{
rights: { value: "Copyright 2023 Deno Land Inc." },
id: "https://deno.com/blog/v1.30",
published: 2023-01-26T12:00:00.000Z,
publishedRaw: "2023-01-26T12:00:00.000Z",
updated: 2023-01-26T12:00:00.000Z,
updatedRaw: "2023-01-26T12:00:00.000Z",
title: { value: "Deno 1.30: Built-in Node modules", type: "html" },
description: {
value: "Deno 1.30 supports built-in Node modules, deno.json is an import map, deno fmt can format without se...",
type: "html"
},
links: [
{ href: "https://deno.com/blog/v1.30", rel: undefined, type: undefined },
{ href: "https://deno.com/blog/v1.30" }
],
attachments: [],
author: { email: undefined, name: "David Sherret", uri: undefined }
}
パーサも便利だけど、fetchがすごい便利です。
ここからタイトルとリンクを取り出す。
// タイトル
> console.log(entries[0].title.value);
Deno 1.30: Built-in Node modules
// リンク
> console.log(entries[0].links[0].href);
https://deno.com/blog/v1.30