Web 3.0:ウェブサイトがウェブサービスになるとき - (page 2)

文:Sean Ammirati 翻訳校正:吉井美有2007年04月03日 08時00分

標準化されたURL--APIのないAPI

 直接の(データベースへの)APIがあるわけではないにもかかわらず、多くの企業はdel.icio.usに蓄えられている情報を活用している。次のような例がある。

 Delexaは、del.icio.usを使ってAlexaのサイトをカテゴリ分けする、面白くて便利なマッシュアップだ。例えば、「book」という単語でタグ付けされた有名なサイトを下にまとめてみた。

Delexa

 別の例はsimilicio.usと呼ばれるサイトで、del.icio.usを使って類似サイトを推薦する。例えば、同サイトによれば、Read/WriteWebに似ているのは次に示すようなサイトだ。

 APIがないのにこれらのサービスはどうやってこういうことを実現しているのだろうか。答えは、標準化されたURLの活用と、ウェブスクレイピングと呼ばれる技術だ。これがどうやって動いているかを見てみよう。del.icio.usでは、例えば「book」というタグを持つすべてのURLは「http://del.icio.us/tag/book」というURLの下にある。また、「movie」というタグを持つものは「http://del.icio.us/tag/movie」の下、というふうになっている。このURLの構造は常に同じで、「http://del.icio.us/tag[タグ]」となっている。したがって、どんなタグが与えられても、コンピュータプログラムからそのタグを持つサイトのリストを含むページを取り出すことができる。ページが得られれば、プログラムからのスクレイピング、つまりそのページから必要な情報を抽出することが可能になるのだ。

ウェブスクレイピングの仕組み

 ウェブスクレイピングは、本質的にHTMLページのリバースエンジニアリングだ。ページから情報の断片を構文解析で取り出すことだと考えてもいい。ウェブページはHTMLでコーディングされており、情報を示すツリー状構造を持つ。実際のデータはレイアウト情報や補足情報と混ざり合っていて、コンピュータで扱いやすい形にはなっていない。与えられたHTMLのページから元のデータを取り出す方法を知っているプログラムがスクレイパーだ。それらのプログラムは、特定のマークアップの詳細を研究して、元のデータがどこにあるかを判断する。例えば、del.icio.usのページからURLを抽出するスクレイパーは以下の図のように機能する。このようなスクレイパーを適用すると、任意の与えられたタグに対して、そのタグを持つURLを調べることができる。

スクレイパー

Dapper、Teqlo、Yahoo! Pipes--次世代のスクレイピング技術

Dapper

 Read/WriteWebでは最近Yahoo! Pipesを取り上げた。これは、RSSフィードをリミックスすることに焦点を当てたYahoo!の新アプリケーションだ。最近始まったTeqloも類似の技術で、ユーザーがウェブサービスとRSSからマッシュアップやウィジェットを作れるようにすることに焦点を当てている。この2つのサイトよりも前に、Dapperがどんなウェブサイトにも使える一般的なスクレイピングサービスを開始している。Dapperはウェブページのスクレイピングを視覚的なインターフェースで手助けする興味深い技術だ。

 Dapperは、開発者にいくつかのサンプルページを定義させ、次にマーカーを使って似たような情報を示させる。これは単純に見えるが、これを実現するのに、Dapperは背後で複雑なツリーマッチングアルゴリズムを使っている。ユーザーが一度ページ上の情報に似た情報の断片を定義するとそれをフィールドにできるようになる。ページ上の他の情報についても同じ処理を繰り返せば、開発者は構造化されていないページから一連の構造化された情報を取り出すクエリーを効率よく定義することができる。

CNET Japanの記事を毎朝メールでまとめ読み(無料)

-PR-企画特集

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]