「ウェブ・スクレイピング」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
9行目: 9行目:
 
実際には[[ウェブクローラー]]が取得した大量の[[データ]](いわゆる[[ビッグデータ]])から[[データマイニング]]を行う[[プログラム]]的な意味合いが強いが、[[ウェブ魚拓]]的な用途を除けば加工せずに扱うこと自体が非常に稀であるため、[[ウェブクローラー]]と区別するのが面倒なのでクローラーの一部として扱われることが多い。
 
実際には[[ウェブクローラー]]が取得した大量の[[データ]](いわゆる[[ビッグデータ]])から[[データマイニング]]を行う[[プログラム]]的な意味合いが強いが、[[ウェブ魚拓]]的な用途を除けば加工せずに扱うこと自体が非常に稀であるため、[[ウェブクローラー]]と区別するのが面倒なのでクローラーの一部として扱われることが多い。
  
また、[[AJAX]]の普及などに伴い本来は[[HTML]][[のJavaScript]]で取得している非公式の[[ウェブAPI]]を直接的に叩き、[[データ]]を抜き取るような手法も確認されている。
+
また、[[AJAX]]の普及などに伴い本来は[[HTML]]上の[[JavaScript]]で取得している非公式の[[ウェブAPI]]を直接的に叩き、[[データ]]を抜き取るような手法も確認されている。
  
 
==手法==
 
==手法==

2015年3月4日 (水) 04:14時点における版

ウェブ・スクレイピング英語:web scraping)とは、ウェブ上のHTMLなどから機械的にデータを抜き出すことを言う。単にスクレイピングと呼ばれることも多い。

概要

ウェブスクレイピングとは、日本語に直訳すると「ウェブ削り」であり、ウェブクローラーなどで取得したHTMLなどのデータから余計な部分を削ぎ落とし、目的とする部分を抜き出すソフトウェア、およびそのような行為のことである。

基本的には以下のような手順となる。

  • ウェブクローラーで丸ごと保存
  • ウェブスクレイパーでガリガリ解析

実際にはウェブクローラーが取得した大量のデータ(いわゆるビッグデータ)からデータマイニングを行うプログラム的な意味合いが強いが、ウェブ魚拓的な用途を除けば加工せずに扱うこと自体が非常に稀であるため、ウェブクローラーと区別するのが面倒なのでクローラーの一部として扱われることが多い。

また、AJAXの普及などに伴い本来はHTML上のJavaScriptで取得している非公式のウェブAPIを直接的に叩き、データを抜き取るような手法も確認されている。

手法

プログラミング言語でやる場合にもっとも手軽なのは正規表現でぶっこ抜くという手法である。 これは極端に言えば古くからUNIXsedコマンドなどで行われていたデータ加工となんら変わらない。

主なライブラリ

PHP

Ruby

.NET

  • Html Agility Pack
    かなり精度は高い。手軽。並列処理にも強い。
  • GeckoFX
    Firefoxそのもの。iOSAndroidのアプリ開発で頻出するWebViewに類似するもので、HTML5かつほぼJavaScriptだけで描画を行っているページですら完璧にぶっこ抜くことが出来てしまう。

関連項目

参考文献