timezoneをUTCからJSTに変更するPipesを書いた他

Pipesで色々マッシュアップしていく上で問題となるものは3つと認識しています。

  1. feedの文字化け
  2. Metaタグのbot弾き、fetchPageしての文字化け
  3. timezoneの混在

これらの対策について自分のしていることを書いてみます。
この記事を書いた当時はちゃんと動いてたYahoo!Pipesですが突如として動きがおかしくなりました。適時再調査、代替案を検討しております。書いた当時の雰囲気そのままにおたのしみくd...たのしくないよ...


feedの文字化け対策

FeedBurnerを経由して文字コードを変更して出力することで文字化けを回避します。
http://www.feedburner.jp/fb/a/home

Metaタグのbot弾き、fetchPageしての文字化け

一度Googleモバイル用のゲートウェイを経由させて全文を取得します。
http://www.google.co.jp/gwt/n?u=http://my.opera.com/momizine/blog/
(通常:http://my.opera.com/momizine/blog/

使い方

URLをpipesで取得後にloop処理の中に組み込んでFetch Pageと同じように利用するとGoogleゲートウェイを経由してデータを出力します。後にURLを元に戻すときはRegexを使って余分な箇所を削除してください。

timezoneの変更

UTC時間にをJSTに変更します。ここが正しく動かなければ、RSSリーダ巡回時の取得時間がわけわかんないデータになったり取得にbotがそのページにいった時間になったりぐちゃぐちゃになります。

サンプル

http://pipes.yahoo.com/momizine/timezone
やっていることはUTCに+9時間(9*3600s)してJST時間に変更しているだけです。
今アップデートによって動かなくなりました・・・。多分時間が解決してくれるはずですorz

使い方

Fetech feedでfeedの中身を取得後にloop処理の中に組み込んでitem.pubDateの書き換えを行います。
説明しにくいので実例で示します。Operaで開くとdatetimeがおかしなことになるので、firefoxSafariChromeかそのあたりで組み込んで利用してください。いやこれはPipesでの作業全般に言えること。
TwitterのfeedのUTCをJSTに変更した例(item.titleに意図的にUTCJSTの2種類を書いています)


下2つはPipesで利用するときに踏み台に使っていただけたら幸いです。fav機能使ってごにょる時に呼び出しやすくするといいと思うよ!

追記

Yahoo!Pipes側がアップデートを実施してloop:fetchpageが動いたり動かなかったりして大ダメージを受けています。