Amazonのtitleを短くするフィルタ?
「君のblogは素人には理解できないよ!」「君のblogって、一体誰に向かって書いてるの?」「新しい記事載せたって?ああ、あのよくわからんやつね」などと、リアル友人からは非常に不愉快かつ辛辣な罵倒を受けている客観的かつ中立公正な素晴らしいご意見を頂戴しているこのblogですが(実話)、こんにちはこんにちはみんな元気かな!?イヤッホゥ!
今日も懲りずにProxomitronネタですからね!!
Amazonの商品ページのタイトルがちょっと長いなー、と思ったので、ちゃちゃっとフィルタにすることにしました。例えばこのページ、「ドアラのテーマ」の商品ページなら…
- Amazon.co.jp: ドアラのテーマ: DJドアラ: 音楽
これを
こうする。.co.jpを削って、商品カテゴリも削るだけ。ま、私の手にかかれば楽勝かなと思ったんですよ。ソース見なくてもタイトルバー見れば一目瞭然ですし。はいはいできたできた。
[Patterns] Name = "Amazon | title simplifier 20080618" Active = TRUE URL = "www.amazon.co.jp/dp/ $TYPE(htm)" Limit = 150 Match = "(<title>Amazon)\#.co.jp[%81][%46]\s$SET(#= - )|" ":\s[^<:]+(^(^</title>))" Replace = "\@"
で、動かないんですわー。こんな簡単なフィルタがなんで動かないのよ!?とソース見てびっくり。
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS" />
<meta name="description" content="Amazon.co.jp: ドアラのテーマ: DJドアラ: 音楽" />
<title>Amazon.co.jp: ドアラのテーマ: DJドアラ: 音楽</title>
(view-source)Amazon.co.jp: ドアラのテーマ: DJドアラ: 音楽
ひいいいいいいいいい!実体参照!!!!
/\___/\ / / ヽ ::: \ | (●), 、(●)、 | | ,,ノ(、_, )ヽ、,, | | ,;‐=‐ヽ .:::::| \ `ニニ´ .:::/ NO THANK YOU /`ー‐--‐‐―´´\ .n:n nn nf||| | | |^!n f|.| | ∩ ∩|..| |.| |: :: ! } {! ::: :| ヽ ,イ ヽ :イ
まったくAmazonは困った奴です。ソースの中にやたら改行入ってたりしてすげー重いし、ほんとにもう。
というわけで、こちら完成版ですー。
[Patterns] Name = "Amazon | title simplifier 20080618-2" Active = TRUE URL = "www.amazon.co.jp/dp/ $TYPE(htm)" Limit = 150 Match = "(<title>Amazon)\#.co.jp[^ ]+\s$SET(#= - )|" ":[^:<]+(^(^</title>))" Replace = "\@"
注意が一つ。URL Matchが「www.amazon.co.jp/dp/」のみになっていますが、これは他フィルタでAmazonの商品URLを「www.amazon.co.jp/dp/XXXXXXXXXX」形式に統一しているためです。これについては2chの「Proxomitron Part 29」スレ>>783近辺をご覧いただくか、あるいはご自身でURL Matchを拡張していただく必要があるかもしれません。
技術的に難しいことはやっていないので、その辺の解説は今回はナシの方向で。もちろんご質問があればなんでもどうぞ!
それでは、どうぞご利用ください。