Webページから単語抽出して遊ぼう.前回は,キーワードとしてふさわしくないような単語まで抽出されて,頭を抱えたところで終わった.今回はそのページに検索エンジンでの検索で使われたキーワードを取得して使ってみる.
2009-08-01 対象の検索エンジンにBingを追加しました
2008-03-02 初版
この状況を何とかしようとして普通に考えると,
ということになるが,これは終わりのない面倒な作業だ. そこで,
という事実に着目した. ![]() 検索エンジン経由で来てそのページが表示されたということは,そこで使われた検索キーワードはそのページに関係が深いはず(検索エンジンはそういう風に作られている)なので,その検索キーワードをそのページを代表するキーワードだと考えても,おかしくないはずだ. すると,そもそもの目的の「関連ページを表示する」を考えたとき,
と言えるのではなかろうか. そこで,検索エンジン経由でカモランドのページに到達した場合は,検索で使われたキーワードを含むページを,そのページの関連ページと見なして下部に表示するようにしてみた. 具体的には,「redhat oracle」というキーワードでGoogleで検索する と,カモランド(プログラマー'sペイジ)のページが上位あたり(今日は2位)に出るが,そのリンクをクリックして表示されたカモランドのページでは,関連ページの表示部が このサイト内の関連ページ (redhat oracle) あと、日本語文字の検索語への対応については、少し考える必要がある。検索語のエンコーディングが不定なので、動的な文字コード判定を組み込む必要がある. 例えば,GoogleならリファラーURLのパラメータieにエンコーディングが含まれているとかいう話で、これを他の検索エンジンについても調べる必要がある。 ちょっと、Apacheの過去ログを眺めたり実サイトで実際に叩いたりして,調べてみた.
カモランドで収集した情報だけなので、漏れがあると思います。今のところ、これらの情報を使って文字コードを判別するようにすることで、日本語のキーワードも正しく扱えているようだ。 なおRubyによる実装が、Rubyでrefererから検索キーワードを抽出するにあります。 [参考] |