RubyForge全体のnewsのフィードと、プロジェクトのnewsのフィードはあった。
だけどリリースとnewsは連動しているわけではないらしく投稿するかしないかは管理者次第のようだ。
RubyForge: LibXML: ニュースじゃあPipesでも使ってみるかと気軽に始めたのだけどかなり手間取った。
RubyForge: LibXML: ファイルリスト
やりたいこと
- libxml-rubyのリリース(「libxml-ruby-0.9.8」「libxml-ruby-0.9.7」部分)を抜き出してフィードに。
- descriptionに上記文字列のリンク先(リリースノート)の内容を入れる
select * from html得られたtrリストの直下の一番目のtdと二番目のtdを指定する方法でまた悩む。
where
url="http://rubyforge.org/frs/?group_id=494"
and
xpath="/html/body/div[3]/table/tr/td[2]/table/tr[position()>=4 and td/p/strong/text()]"
item.td.0.p.strong.a.href →linkてな感じ。
item.td.0.p.strong.a.content →title
item.td.1.p.strong →日時
リリースノートの内容は、<pre>の中身でざくっと指定できたのでLoop+Fetch Pageの結果をdescriptionにassign。
日時をフィードのpubDateにどう反映するのかがまたよくわからなくて、他の人のPipesを参考にLoop+Date Builderでitem.y:publishedにassignした。フィード出力の時点でpubDateに突っ込まれるようだ。
ようやく出来たのが↓のPipes。Livedoor Readerに食わせてウォッチ中。
http://pipes.yahoo.com/pipes/pipe.info?_id=78e1182d42024a179dfda9fc6f708550
面白いしすごく便利だけど、やりたいことをPipes流の発想に変換するのがなかなか大変。。。
YQLを使えばXPathでスクレイピング可能なのが救い。
>> Home