JavaScriptリーダーでRSSリーダーアプリを作成する方法
RSS(Really Simple Syndication) オンライン出版社によって使用される標準化されたフォーマットです。 コンテンツを配信する 他のウェブサイトやサービスへ。あ RSSドキュメント, としても知られている フィード, です XML文書 出版社が配信したいコンテンツを運ぶ.
RSSフィードは、ほとんどすべてのオンラインニュースWebサイトおよびブログで読者に公開されています。 内容を最新の状態に保つ. 彼らはまたで見つけることができます 非テキストベースのWebサイト YouTubeなど、YouTubeチャンネルのフィードを使用できます。 最新のビデオを知らされる.
これらのフィードにアクセスし、その内容を読んで表示するプログラムは、 RSSリーダー. JavaScriptで簡単なRSSリーダープログラムを作成することができます。このチュートリアルでは、次の方法について説明します。.
RSSフィードの構造
RSSフィード ルート要素を持つ 呼ばれる
, に似ています HTML文書にタグが見つかりました。の中
タグ、あります
要素、種類のような HTMLでは、それは 多くのサブ要素を含む Webサイトの配布コンテンツを含む.
フィードは通常いくつかを運ぶ 基本情報 タイトル、URL、WebサイトおよびWebサイトの説明など 個々の更新された投稿、記事、またはその他の内容 そのウェブサイトの。これらの情報は
, , そして
それぞれ要素.
これらのタグが 内部に直接存在
, それらは、Webサイトのタイトル、URL、および説明を保持しています。彼らがいるとき 中に存在
それ 更新された投稿に関する情報を保持しています, それらは以前と同じ情報を表しますが、それぞれの内容の情報を表します。
表す.
いくつかもあります オプションの要素 RSSフィードに含まれている可能性があり、配布されたコンテンツに関する画像や著作権などの補足情報を提供します。あなたはこれでそれらについて学ぶことができます RSS 2.0の仕様 cyber.harvard.eduで.
これは、 ウェブサイトのRSSフィード ように見えるかもしれません:
ホンキート https://www.hongkiat.com/デザインのヒント、チュートリアル、そしてインスピレーション en-us CSS統計を使用して任意のCSSスタイルシートを視覚化する スタイルシートにはCSSのルールがいくつあるか疑問に思ったことはありませんか。それとも、見たいと思ったことはありますか… 2017/05/18 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/Amazon Echo Show - 最新のAlexa搭載スマートデバイス Amazonは、内蔵デジタルアシスタントを搭載したスマートホームシステムの概念に慣れていません。結局のところ、… 2017/05/17 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/
フィードを取得する
必要がある フィードを取得する 私たちのRSSリーダーアプリケーションを使って。 Webサイトでは、RSSフィードのURLは次のようになります。 の中にあります タグを使用して
application / rss + xml
タイプ. たとえば、Hongkiat.comには次のRSSフィードリンクがあります。.
まずはじめに ウェブサイトのフィードURLを取得する JavaScriptを使う.
fetch(websiteUrl).then((res)=> res.text()。then((htmlTxt)=> var domParser = new DOMParser()let doc = domParser.parseFromString(htmlTxt、 'text / html')var feedUrl = doc.querySelector( 'link [type = "application / rss + xml"]')。href))。catch(()=> console.error( 'ウェブサイトの取得中のエラー'))
の フェッチ()
methodはグローバルメソッドです。 リソースを非同期的に取得する. 引数としてリソースのURL(コード内のWebサイトのURL)を取ります。それ を返します 約束する
オブジェクトは、メソッドがWebサイトを正常に取得したときに 約束する
満たされている)、内部の最初の機能 それから()
ステートメント 取得したレスポンスを処理します (res
上記のコードで).
取得したレスポンスは テキスト文字列を完全に読み込む を使用して テキスト()
方法。このテキストは 取得したWebサイトのHTMLテキスト. 好き フェッチ()
, テキスト()
また を返します 約束する
物. そのため、応答ストリームから応答テキストを正常に作成したとき, それから()
その応答テキストを処理します(htmlText
上記のコードで).
ウェブサイトのHTMLテキストが利用可能になったら、私たちは使用します DOMParser API
に それをDOM文書に解析する. DOMParser
XML / HTMLテキスト文字列をDOM文書に解析します。その方法, parseFromString()
, かかります 二つの引数: 解析されるテキスト そしてその コンテンツタイプ.
次に、作成したDOM文書から、 を見つける href
関連する価値 タグ を使用して
querySelector()
フィードのURLを取得するためのメソッド.
フィードの解析と表示
WebサイトのフィードURLを取得したら、次の手順を実行する必要があります。 RSS文書を取得して読む そのURLで見つかりました.
(feedUrl).then((res)=> res.text()。then((xmlTxt)=> var domParser = new DOMParser()let doc = domParser.parseFromString(xmlTxt、 'text / xml')doc) .querySelectorAll( 'item')。forEach((item)=> let h1 = document.createElement( 'h1')h1.textContent = item.querySelector( 'title')。textContent document.querySelector( 'output')。 appendChild(h1))))
ウェブサイトを取得して解析したのと同じように、今は XMLフィードを取得してDOM文書に解析する. これを実現するために、 'text / xml'
のコンテンツタイプ parseFromString()
方法.
解析済み文書では、 すべて選択
要素 を使用して querySelectorAll
方法と それぞれをループする.
各要素の中に、 アクセスタグ 好き
,
, そして , それはフィードコンテンツを運んでいます。そして、私たちのシンプルなRSSリーダーアプリケーションが完成しました、あなたが望むようにあなたは取得したフィードのコンテンツをスタイルすることができます.
Githubのデモ
あなたはチェックアウトすることができます より詳細なバージョン Githubレポジトリのこの記事で使用されているコードの説明。より詳細なバージョン 3つのフィードを取得する (Mozilla Hacks、Hongkiat、そしてWebkitブログ) JSONファイルを使用する また、RSSリーダーにいくつかのCSSスタイルを追加します。.