RSSフィード自動作成サービス Feed43の使い方

事前設定が必要ですが、Webサイトより柔軟にRSSフィードを作成してくれるFeed43というサイトがあります。本文も含めることが可能です。日本語サイトも問題なく認識して、認識を失敗してもSHIFT_JISなどとエンコードを入力すれば認識するようです。なんでもRSSだとだめなサイトもこれでいけます。(有名RSSフィード生成サービス[My RSS、 Page2RSS、なんでもRSS]の詳しい比較はこちら)


ただし、手動で目印となるHTMLタグを入力するので、ユーザ側に少なくともブラウザでソースが見ることができる、HTMLタグがなんであるか知っているというスキルが求められます。(なお、IEですと標準ではメモ帳が開き、改行コードや文字コードでうまく表示されないことがあります。)無料だと6時間単位の巡回となるのがすこしネックですね。


繰り返しをパターンを認識するのに、コツがあるので、そのメモを残しておきます。

ポイント
HTMLの構造は認識していないので、HTMLの構造無視して目印となる部分を入力することが重要です。
目印となるのは、コメント文や、divタグとなります。


このサイトを例にして、パターン例を説明します。ユーザ登録をすませた後、トップのCreate your own feedを押すとログイン認証のあと、生成画面となります。

Step 1. Specify source page address (URL)

Addressを入力します。ここでは、http://d.hatena.ne.jp/zxa/とします。Encodingは空白でも問題ありません。Reloadを押して、取得させます。

Step 2. Define extraction rules

Global Search Pattern

ここは、{%}とすればほとんどの場合ありません。{%}はマッチした後で引用するという意味になります。


こだわる場合は、

<div id="days">{%}<div class="calendar" id="pager-bottom">

と、目印となる部分を指定します。</div>とかを設定するのは不適切です。

Item (repeatable) Search Pattern

記事の繰り返し部分を設定します。記事の最初の部分を見ると以下のようになっています。(2行目、3行目は実際には改行していません)

<div class="day">
<h2><a href="http://d.hatena.ne.jp/zxa/200xxxxx"><span class="date">200x-xx-xx</span></a>
 <span class="title">ブログのタイトル</span></h2>

記事の本文は、<div class="section">から始まり、<p class="sectionfooter">で終わっているようです。


これをマッチさせる構文は以下のとおりです。

<div class="day">{*}<a href="{%}">
<span class="date">{%}</span></a> <span class="title">{%}</span></h2>
{*}
<div class="section">{%}<p class="sectionfooter">


こうすることで、{%1}はURL、{%2}は日付、{%3}はタイトル、{%4}は本文となります。本文に余分なタグが入ってますが、壊れたHTMLが入っていても表示には問題ないです。気になるようなら、{_} 'white-space'マクロ(空白にマッチ、正規表現だと\s+)、{|} 'line-break' マクロ(改行にマッチ。正規表現だと[\n\r]+)を使って{%}マッチからはずしましょう。

Step 3. Define output format

Item Title Templateには、{%3}-{%2} としてタイトルと日付をいれます。Item Link Templateには、{%1} 、Item Content Templateには、{%4}と入れます。


Previewをおすと、RSSが生成されサンプルをみることができます。Feed URL isの後のリンクが、生成されたURLとなりますので、RSSリーダに登録しましょう。