digital 千里眼 @abp_jp

アナログな日常とデジタルの接点

Google アラートのリダイレクト URL を iCBM3 でクレンジングする方法

2011-01-17 追記
URL をデコードする必要がありました(404 エラーになる場合がある)...orz
iCBM3 0.142bURL デコード用の整形関数 が追加されたので、それを使いましょう

(面倒ですが)個別のアイテムに %feed[url={d&link}] と設定することも可能です

短縮 URL サービス同様、リダイレクトで Google はクリック追跡が可能になります。余計な情報を Google に与える必要はありませんね
ということで、iCBM3 のマニュアルを調べつつ試してみたら意外と簡単にできた

replace を使って URL をクリーンアップ


Google アラートが最初に送ってくる URL はこんな感じ。何で Google 経由でアクセスしなきゃいけないん?

Google アラートが送ってくる URL(例) 必要な URL(例)
http://www.google.com/url?sa=X&q=http://d.hatena.ne.jp/k2jp/20100912/1284302022&ct=ga&cad=:s1:f2:v3:d4:i5:lt:e6:p7:t1234567890:&cd=aBCdEfGhIJK&usg=ABCdEFGhiJ1KlmNoPQr_sTUVw2XYZABCDe http://d.hatena.ne.jp/k2jp/20100912/1284302022

両端を replace でトリミングすればいい(iCBM3 の正規表現はマニュアルに例が少なく、どこまで書けるか手探りなのが難点)

[オプション設定] -> [更新チェック] -> [%feed マクロ(規定値)] に設定する場合(オススメ)

replace=url/(^http:\/\/www\.google\.com\/url\?sa\=X&q\=|&ct\=ga&cad\=\[^&\]+&cd\=\[^&\]+&usg\=\[^&\]+$)/;
各エレメント(feed)のコメント欄に設定する場合


%feed[] で囲むだけ

%feed[replace=url/(^http:\/\/www\.google\.com\/url\?sa\=X&q\=|&ct\=ga&cad\=\[^&\]+&cd\=\[^&\]+&usg\=\[^&\]+$)/]
[参考]エスケープ文字に関する注意点(マニュアルより転載)

[ ] ; = /
を使用する場合は "\" を使って必ずエスケープ