独立したウェブサイトをよく訪れると、いくつかのサイトが RSS と呼ばれる購読方法を提供していることに気付くかもしれません。このサイトを例に挙げると、https://blog.yfi.moe/feed.xml のリンクをクリックすると、XML(または JSON)ファイルが表示されます。このリンクは何に使われるのでしょうか?なぜ多くのウェブサイトがこの購読方法を提供しているのでしょうか?RSS フィードを読む方法は?疑問がある場合は、以下を読み続けてください。
これは私が RSS について書きたい内容の概要記事です。
継続的に更新中で、まだ満足していません。
RSS とは何であり、なぜ必要なのか?#
Wikipediaから引用:
RSS は、複数のウェブサイトの更新コンテンツを集約し、ウェブサイトの購読者に自動的に通知するためのメッセージソースの形式仕様です。RSS を使用すると、ウェブサイトの購読者はウェブサイトの更新を手動で確認する必要がなくなります。また、RSS は複数のウェブサイトの更新コンテンツを要約形式で統合し、購読者が重要な情報を迅速に入手し、選択的に閲覧できるようにします。
先ほどのサイトを例に挙げると、サイドバーの RSS フィードのリンクを開くと、XML ファイルにはサイトの最新の記事が含まれています。つまり、この XML ファイルを追跡することで、サイトの記事が更新されたかどうかを追跡することができます。それにより、ウェブページ全体を毎回取得する必要はありません。
一般的な RSS リーダーは複数の RSS フィードを追加できるため、RSS を使用することで、同じリーダーで注目しているすべてのブログ、ニュース、および RSS フィードを作成できます!
なぜ RSS を使用するのか?#
私は、RSS の役割は自動的な更新の取得と集約読み取りにあると考えています。
例えば、私は約 20 のブログサイトをフォローしています。それらの更新をどのように確認しますか?毎日すべてを開いてチェックしますか?明らかに、私たちは自動化された方法が必要です。もちろん、ホームページを GET して、必要な情報を HTML から抽出することもできます。しかし、各サイトの構造が異なるため、それは少し手間がかかります。そのため、RSS が生まれました。定期的にそれをクロールするだけで、比較的固定された形式の XML/JSON ファイルから関連情報を取得できます。
同時に、注目している情報はさまざまなプラットフォームに分散していますが、それぞれのプラットフォームを開く必要がありますか?RSS はこのような可能性を提供します:各プラットフォームの情報を取得し、同じリーダーで読者に表示します。
RSS をどのように読むのか?#
RSS フィードを読むことは非常に簡単です:好きなリーダーを選んで、フィードを追加するだけです。ただし、より高い効率と優れた読書体験を得るためには、複雑な場合もあります。
以前の知識を思い出すと、RSS の読み取りには 3 つの段階があることがわかります:ソースレベル、クロールレベル、および読書レベルです。
ソースレベル:#
RSS の定義からわかるように、これはユーザーが気にする必要のないものです - ソースはウェブサイトによって提供されます。ただし、多くのソーシャルメディアや他のウェブサイトは RSS を提供していないため、それらを RSS で購読したい場合はどうすればよいでしょうか?
RSSHub#
ドキュメントリンク:介绍 | RSSHub
RSS について話すときに言及せざるを得ないプロジェクトで、RSS をサポートしていないウェブサイトに RSS フィードを生成します。
そのスローガン「Everything is RSSible」から、その野心が伺えます。コミュニティのサポートのもと、このスローガンは空虚なものにはなっていません:現在、数百のウェブサイトをサポートし、数千のルートがあります。
RSSHub を使用すると、Bilibili、TikTok、Weibo、Twitter などを RSS で購読できます。ほとんどの人気のある Web サービスには、RSS を購読できるようにするためにルートを作成した貢献者がいます。同時に、Bilibili のアップ主のファンリストなど、想像もできないようなルートもあります。
プロジェクト自体は自己ホストを推奨していますが、デモも提供しています。このようなクローラーが必要なプロジェクトでは、自己ホストが非常に重要だと思います。ほとんどのウェブサイトにはスクレイピング防止策があり、公式のインスタンスは既にアクセス禁止されています。
自己ホストは、サーバー上で自分で構築するだけでなく、Vercel などのサービスを使用することもできます。コストはかかりません。
以前に Docker を使用してサーバー上で自己ホストするチュートリアルを書いたことがあります:完整的な RSS ソリューション:自己ホストの RSSHub と Miniflux | Yunfi's Blog
自己ホストしたくない場合は、私のインスタンスを試してみてください:https://rsshub.yfi.moe
その他のフィード生成サービス#
Huginn やサービスが終了した Feed43 などがあります。これらのサービスは、ウェブページの変更を監視して RSS フィードを生成するため、RSSHub ルールを書く必要はありません。私が知っている他のサービスには、Check 酱や RssEverything などがあります。
クロールサービスとリーダー#
通常、RSS リーダーはクロールと読書の両方を行うことができます。ただし、機能に重点が置かれているため、クロールと読書に異なるツールを使用することもできます。
種類が多すぎるため、一つずつ例を挙げることはしません。
なぜ独立したクロールサービスが必要なのですか?#
なぜなら、ある RSS フィードが最新の 10 の記事のリンクを提供しているとします。ただし、前回更新から今回更新までの間に 15 の記事が更新された場合、その間の 5 つの記事は表示されません - つまり、24 時間 365 日オンラインで定期的にクロールするサービスが必要です。
これらのサービスには通常、記事の正規表現フィルタリング、記事にタグを付けるなどの高度な設定も提供されています。
Inoreader や Feedly などのプラットフォームを選択することもできます。また、Tiny Tiny RSS、FreshRSS、Miniflux などの自己ホストサービスもあります。
これらのサービスはすべてリーダーですが、インターフェースと操作が受け入れられる場合は、専用のリーダーを使用する必要はありません。
リーダー#
ここで紹介するリーダーは基本的には直接フィードを追加して読むことができますが、より高度な設定を望む場合は、前述のクロールサービスと組み合わせることができます。
一般的に、リーダーは Fever API、Google Reader API、または各クロールサービス固有の API を使用して上位と同期します。
- iOS/macOS プラットフォーム:選択肢が多くありますが、3 つのおすすめの例を挙げます
- Reeder 5:$4.99 の一括購入でダウンロード可能で、見た目とバランスが取れた選択肢ですが、Fever API のサポートが不十分です
- Fiery Reader:無料でダウンロードでき、高度な機能は年間 $9.99 で利用できます。非常に強力で、カスタマイズの度合いが非常に高く、必要なものはすべて揃っています
- Unread:国内ストアで提供されており、高度な機能はやや高価ですが、通常版でも十分に使用できます
- Windows プラットフォーム:実際、Windows では Inoreader や自己ホストサービスの Web 版を直接使用することをお勧めします。専用のリーダーをダウンロードする必要はありません。
- Fluent Reader:Fluent Design を使用したリーダーで、オープンソースで無料です
- Android プラットフォーム:私は長年 Android 携帯を使っていませんが、他の人のおすすめを以下に示します
- Read You:Reeder に似た UI スタイルで、オープンソースで無料で、まだ開発中です
- Feedme:機能が充実しており、強力なリーダーです。
適切なサービスを選ぶ方法は?#
iOS プラットフォームを例に挙げますが、他のプラットフォームでは最後のリーダーを変更するだけで構いません。上流はすべて相互に連携しています。
軽度のユーザー | 重度のユーザー | |
---|---|---|
手間をかけたくない | Reeder 5 | 自己ホストの RSSHub + Inoreader + Fiery Reader |
手間をかけたい | 自己ホストの Miniflux + Reeder 5 | 自己ホストの RSSHub + 自己ホストの Tiny Tiny RSS + Fiery Reader |
これは私のおすすめですが、重度のユーザーや手間をかけたい人は、自分自身で試してみて、自分に合った組み合わせを見つけることができます。
RSS の不適切な使用法?#
RSS は万能ではありません。以下は私が非常に良くない使用方法と考えるものです。
多すぎるフィードを購読する#
多くの人が 999 + の未読アイテムを持っていると思います。私は、そのフィードの 10 の更新のうち 1〜2 のみを見る場合、多くのフィードは削除するべきだと考えています。
更新時間を短く設定する#
サーバーに負荷がかかりすぎるため、現在、多くの小さなサイトは RSS フィードの全文出力ではなく、要約のみを提供しています。
また、RSS 自体はリアルタイムの更新を取得するために設計されていません - 毎回完全な XML ファイルをロードする必要があります。
便利なリンク#
- AboutRSS/ALL-about-RSS (github.com) その名の通り
- 介绍 | RSSHub RSSHub のドキュメント
または、私の Hexo ブログでこの記事を見ることもできます:RSS: 何であり、なぜ、どのように使用するのか?| Yunfi's Blog