timezoneをUTCからJSTに変更するPipesを書いた他
Pipesで色々マッシュアップしていく上で問題となるものは3つと認識しています。
- feedの文字化け
- Metaタグのbot弾き、fetchPageしての文字化け
- 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/)
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がおかしなことになるので、firefoxかSafariかChromeかそのあたりで組み込んで利用してください。いやこれはPipesでの作業全般に言えること。
TwitterのfeedのUTCをJSTに変更した例(item.titleに意図的にUTCとJSTの2種類を書いています)
下2つはPipesで利用するときに踏み台に使っていただけたら幸いです。fav機能使ってごにょる時に呼び出しやすくするといいと思うよ!