2008年5月03日(土)

« Yin and Yang:LDRize for SeaHorseに対応 | トップページ | Yin and Yang:不具合修正他 »

Googleの検索結果からH2タグが消える現象の原因

Google検索結果画面のHTML構造、変わりました?で書いていた、Googleの検索結果から<h2 class=r>タグが消える、という謎の現象ですが、原因らしきものがわかりました。
どうやら、Googleが読み書きしているらしいCookie(PREF)の値に"GBV=1"というのが含まれているとこのようになるみたいです。
例えば、JavaScriptオフにしたままで、
[A] http://images.google.com/images?gbv=2&hl=ja&safe=off&q=%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8
にアクセスすると、
[B] http://images.google.com/images?hl=ja&safe=off&q=%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8&gbv=1&ei=62QbSPX8MJPS6gO67cSMCg
のように、パラメータに"gbv=1"がついたページへとリダイレクトされますが、このときにCookieに"GBV=1"というのが追加されてしまいます。
これで、通常の検索を行うと、検索結果からH2タグが無くなってしまいます。
この状態だと、例えばLDRizeで[v][o]が効かなくなったりする弊害が出てしまいます。
元に戻すには、JavaScriptをオンにした状態で、[A]にアクセスします。
で、以前記事にした、AutoPagerize/AutoPagerlike:Google イメージ検索への対応を試みるでは、わざと"gbv=1"付きのページを読込んでいるので……これを使っていると、勝手に上記現象が発生してしまうことになります。
とりあえず、対策した設定ファイル(!!autopageroptions.user.js)に差替えておいてください。
設定ファイルをカスタマイズしていて上書きしたくない場合、DOCFILTERのところに、
    ,   'http://images\\.google\\..+/images\\?.+':[function(doc,url){   //  Google イメージ検索用
            var dummy=new Image();
            dummy.src='http://images.google.com/images?gbv=2&hl=ja&safe=off&q=%E3%83%9A%E3%83%BC%E3%82%B8?update='+(new Date()).getTime();  //  for delete cookie(PREF= .. GBV=1 ..)
        }]
を追加します。
これは、継ぎ足しページを"gbv=1"で読込んだ後、"gbv=2"がついたURIにダミーでアクセスすることで、Cookieを書換させています。
oAutoPagerizeのGoogleイメージ検索対応 oAutoPagerize ver 0.4.1の方は対策されてるんだろうか……?

この記事をはてなブックマークに追加 2008/05/03(土) 04:34 | | 記事の編集(管理者用)

風柳へひとこと(web拍手) 

パソコン・インターネット」カテゴリの記事

覚書」カテゴリの記事

トラックバック

この記事のトラックバックURL:

記事との関連性が薄いものやSPAM等、管理人が不適切と見なしたトラックバックについては予告無く削除する場合が有ります。悪しからずご了承下さい。

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/161784/41072740

この記事へのトラックバック一覧です: Googleの検索結果からH2タグが消える現象の原因:

コメント

コメントを書く