最近、Emacs-w3m の w3m-search で、検索エンジンを google-en にしても英語検索が出来なくなった。
例えば、emacs を google-en で検索しても、日本語のページがトップに出てくる。
どうやら、Google は、検索をかけてる国の情報か何かを抜き出して、Google.com からでも日本語をメインに検索するようにしているらしい。
検索 URL の末尾に &hl=en を加えると英語検索に戻るっぽい。emacs-w3m の CVS へのパッチを書いた。
--- w3m-search.el 13 6月 2006 20:49:56 +0900 1.57
+++ w3m-search.el 09 9月 2006 09:25:41 +0900
@@ -78,19 +78,21 @@
"http://www.google.com/search?q=%s&hl=ja&lr=lang_ja&ie=utf-8"
utf-8)
("google-en"
- "http://www.google.com/search?q=%s")))
+ "http://www.google.com/search?q=%s&hl=en&ie=utf-8"
+ utf-8)))
(ja
'(("google"
"http://www.google.com/search?q=%s&hl=ja&lr=lang_ja&ie=Shift_JIS"
shift_jis)
("google-en"
- "http://www.google.com/search?q=%s")))
+ "http://www.google.com/search?q=%s&hl=en")))
(utf-8
'(("google"
"http://www.google.com/search?q=%s&ie=utf-8"
utf-8)
("google-en"
- "http://www.google.com/search?q=%s")))
+ "http://www.google.com/search?q=%s&hl=en&ie=utf-8"
+ utf-8)))
(t
'(("google"
"http://www.google.com/search?q=%s")
いくつか補足説明を。
utf-8 を扱える場合は、極力、utf-8 を入力エンコーディングとして使うようにした。最近の google は、è のようなアクセント付記号も、ちゃんと理解してくれる。次の検索結果を比べられたし。
英語で検索する場合は、&hl=en を加えている。ただし、次のコードには手を加えていない。
(t
'(("google"
"http://www.google.com/search?q=%s")
("google-ja"
"http://www.google.com/search?q=%s&hl=ja&lr=lang_ja&ie=Shift_JIS"
shift_jis))))
これは、日本国外から使う場合を考慮してのこと。
例えば、フランスから "google" で検索をかけてる人は、自動的に Google.fr の検索結果が現れていると考えられる。従って、"google" を強制的に英語ページの検索にしてしまうのは、いけないと思った。
突っ込み、etc... あれば、どうぞコメントよろしく。
0 件のコメント:
コメントを投稿