検索
特集

2008年、Webは文字列解析で変わっていくまとめサイト2.0(8/8 ページ)

オルタナティブ・ブログを例に挙げて“まとめサイト”を作るための手法を紹介してきたこの連載。最終回は、文字列解析の自動化からキーワードを抽出するための方法を紹介しよう。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

ブロガー一覧を得る

 ブロガー一覧ページのHTMLソースを見ると分かるが、それぞれのブロガートップへのリンクは次のようになっている。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 この規則性を見ると、Web::Scraperを利用して次の条件で取得することができる。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

ブログ中の記事を抜き出す

 ブロガーのURLが分かったら、記事を抜き出してみよう。記事をたどるのには、Web::Mechanizeを用いた。

 記事すべてからキーワードを検索してもよいが、それぞれの記事には、「過去記事へのリンク」や「コメント」、「ヘッダ」「フッタ」といった要素もある。

 HTMLソースを確認すると分かるが、オルタナティブ・ブログの場合、ブロガーが書いた記事の本文は、div class="body" という要素の内部に存在している。そこでWeb::Scraperを用いて、この部分のテキストだけを取り出せばよいのだ。

 ここでは本文だけを取り出しているが、記事タイトルも取り出して統計を見るというのもよいだろう。また、「タイトル」「見出し」は、より重要であると考え、重み付けする――例えば、h1の内部なら5倍、h2の内部なら3倍など――といった方法もあるだろう。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 抜き出したら、これをMeCabに流して解析する。

 リスト2では、「名詞」であり「数」と「代名詞」ではないものをキーワードの対象とした。これは「数」を入れると、「1」「2」といった数字、「代名詞」を入れると「それ」「これ」といった無意味な語句がキーワードの対象となるため、それを省きたかったためだ。

 もちろん、どのような語句を除外するのかは用途次第である。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 あとは、コンテンツ中のリンクを再帰的にたどって行けばよい。そして最後に、キーワードが登場した数で並べ替えて、大きいもの順に並べ替えて出力すると、最終的な結果が得られる。

まとめサイトのセオリーとは

 この特集では、コンテンツのスクレイピングをするためのさまざまな方法を説明してきた。この手法を用いれば、情報元サイトよりも付加価値を持たせた分析まとめサイトを作り上げることもできるだろう。

 従来、スクレイピングといえば、「正規表現による抜き出し」や「ツリー構造を解析するプログラム」が基本であり、敷居が高いものだった。しかしWeb::Scraperを始めとするモジュールを使えば、簡単に必要な部分を取り出せるということがお分かりいただけたと思う。

 コンテンツをスクレイピングするということは、一種のデータマイニング操作だ。

 モジュールが提供されることによってスクリイピングが容易に実現できるようになった今、もはやHTMLは「見るだけ」のものではない。整理して自分好みに加工し、データを活用するという、新たな流れが見え始めているのだ。

前のページへ |       

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る