フィードの例

# 提供される情報の種類

フィード(Feed)はWebサイトの更新情報を配信するものでしたが、
いまでは様々な情報を公開するのに用いられています。

サイト固有の新着情報
ニュースサイトの新着記事、通販サイトの新着商品など。
ユーザ固有の新着情報
ブログの新着記事、ソーシャルブックマークの新着ブックマーク、twitterの最新のツイートなど。
統計情報
定期的に計算されるランキングなど。
検索結果
ブログ検索、オークション検索など。

# フィードの例

## サイト固有の新着情報 (一般)

サイト全般の更新情報から、ニュースサイトの新着記事、通販サイトの新着商品など、
サイトのコンテンツを提供している側による新着情報です。

毎日新聞 [RSS 1.0 (utf-8)]
ジャンルごとの最新ニュース20本を RSS 1.0 で提供しています。なお、description 要素はありません。
フィードに含まれる有料記事へのリンクがリダイレクトされるため、エラーが起きることがあります。
例: ニュース総合のRSS
朝日新聞 [RSS 1.0 (utf-8)]
ジャンルごとにフィードが提供されています。description要素は空です。
Yahoo! ニュース [RSS 2.0 (utf-8)]
Yahoo! ニュースはいろいろなソースからのニュースを掲載していますが、ニュースソース別のフィードを提供しています。
description 要素には記事の先頭部分が入っています。
虚構新聞 [RSS 2.0 (utf-8)]
虚構報道専門のニュースサイト(自称)「虚構新聞」の新着記事のフィードです。
新着記事
NTT-X Store [RSS 0.91 (utf-8)]
特価コーナー の RSSを提供しています。
例: デジカメ特価コーナーのRSS
Touch Lab [RSS 2.0 (utf-8)]
iPhone・iPod touch・iPadのニュース、便利な使い方、アプリとアクセサリのレビューなどが掲載されています。
最新記事一覧
ぐるなび [RSS 2.0 (utf-8)]
ぐるなびのレストランランキングです。
この1週間で注目度が急上昇中のレストランランキング:
全国,
東京,...

## サイト固有の新着情報 (掲示板など)

掲示板などユーザがコンテンツを作りだすタイプのサイトでは、
板ごとやスレッドごとなどに新着情報のフィードが提供されていることがあります。

ニコニコ動画 [RSS 1.0, 2.0 / Atom]
(パラメータ)
ニコニコ動画では、新着投稿動画のフィードや新着コメント動画のフィードがあります。
YouTube [Atom]

- ユーザの新着投稿動画
https://www.youtube.com/feeds/videos.xml?user=ユーザのID
チャンネルの新着投稿動画
https://www.youtube.com/feeds/videos.xml?channel_id=チャンネルのID
再生リストの動画
https://www.youtube.com/feeds/videos.xml?playlist_id=再生リストのID
- はてなブックマーク [RSS 1.0]
はてなブックマークでは、ブックマークされているページごとに、誰がどういうタグをつけてブックマークをしているのか取得することができます。例えば https://www.dendai.ac.jp/ をブックマークしているユーザの一覧は、https://b.hatena.ne.jp/entry/rss/https://www.dendai.ac.jp/ という URL で取得できます。title要素にユーザ名が入っています。
価格.com クチコミとユーザレビューの最新投稿 [RSS 1.0]
価格.com では、特定の商品のクチコミとユーザレビューの最新投稿を RSS で取得することができます。価格自体の更新情報は取得できません。また、価格.com 内での商品のページがあらかじめ特定できていなければ使用できません。
商品名やキーワードなどから商品を特定することは、RSS ではできません。
5ch ヘッドライン [RSS 2.0 (shift_jis)]
公式の RSS です。

ニュース速報+系ヘッドライン:
https://headline.5ch.net/bbynews/news.rss
実況系ヘッドライン:
https://headline.5ch.net/bbylive/news.rss
携帯用ヘッドライン:
https://headline.5ch.net/bbylunch/news.rss
なまずヘッドライン（地震速報）:
https://headline.5ch.net/bbynamazu/news.rss

スラド [RSS 1.0]
ヘッドライン、新着日記のフィードのほか、検索のフィードもあります。
@cosme 最新のクチコミ [RSS 2.0 (utf-8)]
コスメに関するクチコミです。新着順しかありません。encoded 要素の中に評価(★の数)が入っています。
最新のクチコミ

## ユーザ固有の新着情報

特定のユーザの行動に依存する最新情報も、
ユーザごとのフィードが提供されていれば取得することができます。
特定のブログの新着記事、ソーシャルブックマークにおけるあるユーザの新着ブックマーク、
あるユーザの最新のツイートなどが取得できます。

ブログ
ブログは不定期に更新されるものであるため、フィードが提供されていないことはほとんどありません。

- LINE BLOG [RSS 1.0/Atom (utf-8)]
LINE BLOG のページにはフィードへのリンクがありませんが、RSS 1.0/Atom の URL が link要素に示されています。
のんオフィシャルブログであれば、RSS の URL は
http://lineblog.me/non_official/index.rdf です。
Hatena Blog [RSS 2.0/Atom (utf-8)]
Hatena Blog のページにはフィードへのリンクがありませんが、RSS 1.0/Atom の URL が link要素に示されています。
aska_burnishstone’s diaryであれば、RSS の URL は
http://aska-burnishstone.hatenablog.com/rss です。description の中に HTML のタグが実体参照で入っています。
- Twitter
- Twitter 公式
twitter 公式のフィードは廃止されました。
Twitter API (Webサービス)を使う必要があります。

はてなブックマーク [RSS 1.0 / Atom]
はてなブックマークでは、ユーザを指定して、そのユーザのブックマークを得ることができます。パラメータを指定することにより、過去のブックマークの情報も取得することが可能です。ユーザ名が otsune だとすると、フィードのURLは https://b.hatena.ne.jp/otsune/rss となります。

## 統計情報

定期的に計算されるランキングなどがあります。

検索語のランキングは結果がワード(単語)なので、
取得したワードで他の検索をしたり、他のフィードの情報を絞り込んだりすることが容易です。

Google トレンド: 今日の急上昇ワード(日本) [RSS 2.0 (utf-8)]
Google の急上昇ワードです。
フィードには独自の要素が追加されており、関連するニュース記事の情報も埋め込まれています。
goo 検索 [RSS 1.0 (utf-8)]
ウェブ検索最新キーワードが提供されています。
1語とは限らないことに注意しましょう。
Amazonランキング 非公式RSSフィード [RSS 2.0]
Amazon の カテゴリごとの売れ筋ランキングです。
非公式であり、約1%の割合で広告が表示されます。
楽天市場 [RSS 2.0 (utf-8)]
デイリーランキングが各ジャンルごとにあります。ジャンルを指定して一覧が出てくるページの右下に RSS のリンクがあります。例: デジタルカメラ
楽天ブックス [RSS 2.0 (utf-8)]
ランキングのほか、予約情報もあります。
例: ゲーム 総合 予約商品情報
Apple Store RSS Feed Generator [Atom / RSS 2.0 / Json]
Apple Store 内のミュージックやアプリケーションなどのランキングが提供されています。

## 検索結果

ショッピングサイトの検索、ブログ検索などで、検索結果の一覧をフィードの形式で取得できる場合があります。
これにより、Webサイトの更新をチェックするのと同じ枠組みで、
検索でヒットするものの出現状況をチェックすることができます。

検索クエリを伝える必要があるため、フィードの URL に検索クエリがパラメータとして埋め込まれます。
日本語(マルチバイト文字)など URL に使えない文字を埋め込む際には URL エンコードが必要です。

"https://example.com/api?q=" + URLEncoder.encode(検索クエリ, "UTF-8")

Yahoo! JAPAN [RSS 2.0]

- ヤフオク!, Yahoo! ショッピング, Yahoo! 知恵袋の検索: 検索結果の一覧が RSS で配信されていましたが、終了しました (先輩のプログラムを入手しても動作しません)。
- AFeed - Amazon フィード系 Webサービス [RSS 2.0/1.0/Atom (utf-8)]
Amazon.co.jp の検索結果が RSS で得られます (非公式)。
RakuFeed - 非公式 楽天 フィード系 Webサービス [RSS 2.0/1.0/Atom (utf-8)]
楽天市場/楽天ブックス/楽天トラベルなどの検索結果が RSS で得られます。
楽天Webサービスで使える多くのパラメータの指定もできます。
eBay [RSS 2.0 (utf-8)]
検索結果のフィードが得られます。検索結果のページのURLの末尾に &_rss=1 を付与すると RSS になります。
教えて！goo [RSS 1.0 (utf-8)]
検索結果のフィードが、検索結果のページの RSS ボタンから得られます。
link要素のURLが http になっていますが、https に書き換えてアクセスしないとリダイレクトされます。
ブックオフオンライン [RSS 2.0 (utf-8)]
検索結果のフィードの URL が、検索結果のページのソースの link 要素にあります。
URLエンコードを二重にかける必要がある特殊仕様です。URLエンコードする際の文字コードは Shift_JIS です。
フィードの URL は以下のようになります。

"https://www.bookoffonline.co.jp/feed/search,st=a,q=" + URLEncoder.encode(URLEncoder.encode(検索クエリ, "Shift_JIS"), "Shift_JIS")

なお、レスポンスの文字コードは UTF-8 です。

はてな検索など一部の検索サービスのフィードは、Amazon が提唱している
OpenSearch という規格に準拠しています。

## その他 総合

goo (NTTグループ)

- goo天気 のフィードは拡張子が rdf なのに、
中身は RSS 2.0 です。また、
文字コードが UTF-8 ではなく EUC-JP です。
link要素の URL のプロトコルが http になっているフィードがあります。
リンク先に接続する際には https に書き換える必要があります。
- はてな
- Hatena Developer Center

# フィードがみつからない場合

サイトにフィードのアイコンが見つからない場合には、ページのソースを見てみましょう。
head 要素内の link 要素に、RSS や Atom の URL が記述されているかもしれません。

ソースを見るのが面倒な人は、検出してくれるサービスを利用してもよいでしょう。

フィード(RSS)を取得・検出

# フィードがない場合

サイトでフィードが提供されていない場合、
まずは HTML から RSS に変換するサービスを試してみるとよいでしょう。
ただし、きれいな RSS が得られることは少ないので、あまり期待しないでください。

Happyou Final Scraper (Zaisoft)

自分のプログラムで対処する場合、
HTML で記述されたWebページを処理することになります。
RSS と違いサイトごとに構造が異なるため、作り込みが必要です。
Webページが xhtml で記述されていなければ、
XML 用のライブラリも使えません。
また、プログラムからの Webページの取得を拒否するサイトもあります。
茨の道を覚悟しましょう。

# フィードのdescription要素の内容が少ない場合

本文から情報を取得し補完するサービスがあります。
あまり期待しないでください。

FeedEx.Net: The Feed Expander (FeedEx.Net)
Full-Text RSS (fivefilters)

# フィードが異常な場合

フィードの処理がうまくいかず、フィード自体に問題の原因があると考えられる場合には、
フィードが正しいかを確認してみましょう。

Feed Validation Service (W3C)