« 意外なそっくりさん!? | メイン | 単3リチウム電池 »

ココログと[dopvCOMET*]でページ解析(2)

先日紹介した、Javascriptでページ名を自動生成する小技。
ちょっと弱点を発見したのでデバッグすることにした。

たとえばこのURLからアクセスしたとする。
Yahoo!検索 - 個人輸入 英語 お礼

そして、最新の本文ではなく、キャッシュを読みに行ったとしよう。

すると、このプログラムが自動生成するページ名は、従来仕様だと

C2_cache.yahoofs.jpcache?url=http://close2u.air-nifty.com/always/2004/03/cd.html&p=個人輸入 英語 お礼&u=/bin/query?p=%b8%c4%bf%cd%cd%a2%c6%fe%a1%a1%b1%d1%b8%ec%a1%a1%a4%aa%ce%e9&hc=0&hs=0

と、こ~~~~~んなに長たらしくなってしまう。
これはプログラムの動作としては間違っていないが、ファイルスペースの無駄遣いだし、
なんといってもスマートとはいえない。つーか、ヘンだ。そこでこんなふうに変えてみた。

var pg_pfx = "C2_";

var pgx = document.URL.split('/');
(中略:他のパラメータを詰め込んでいるところ)
var pg = "";

if (document.URL.match(/cache/i)) {
pg = pg_pfx + pgx[2] + '_' + "cache";
} else {
pg = pg_pfx + ((pgx[pgx.length - 1] == '') ? 'top' : (pgx[pgx.length - 3] + pgx[pgx.length - 2] + pgx[pgx.length - 1]));
}
(以下略)

このように変えた。URL内に「cache」という文字列が発見された場合、そのURLはキャッシュとみなし、ドメイン名と「_cache」という文字列を組み合わせて「これはどこそこのサーチエンジンのキャッシュだよ」と一律処理することにしたのだ。
更なる課題は、キャッシュの中から本来のURLを拾って解析結果に反映させることか。

今回の改変とは直接関係はないが、ページ群を表す先頭の文字列を別変数として先頭に置き、わかりやすくした。
ぶっちゃけ、わかりやすさだけが目的なんだけど。 笑

* comments *

* trackbacks *

* Drecom RSS *