ウェブスクレイピング
この記事は英語版の対応するページを翻訳することにより充実させることができます。(2024年11月) 翻訳前に重要な指示を読むには右にある[表示]をクリックしてください。
|
ウェブスクレイピング(英: Web scraping)とは、ウェブサイトから情報を抽出するコンピュータソフトウェア技術のこと。通常このようなソフトウェアプログラムは低レベルのHTTPを実装することで、もしくはウェブブラウザを埋め込むことによって、WWWのコンテンツを取得する。ウェブスクレイピングはユーザーが手動で行なうこともできるが、一般的にはボットやクローラ(英: Web crawler)を利用した自動化プロセスを指す。
ウェブスクレイピングは多くの検索エンジンによって採用されている、ボットを利用してウェブ上の情報にインデックス付けを行うウェブインデクシングと密接な関係がある。ウェブスクレイピングではウェブ上の非構造化データの変換、一般的にはHTMLフォーマットからデータベースやスプレッドシートに格納・分析可能な構造化データへの変換に、より焦点が当てられている。また、コンピュータソフトウェアを利用して人間のブラウジングをシミュレートするウェブオートメーションとも関係が深い。ウェブスクレイピングの用途は、オンラインでの価格比較、気象データ監視、ウェブサイトの変更検出、研究、ウェブマッシュアップやウェブデータの統合等である。
手法
[編集]ウェブスクレイピングはWWWから自動的に情報を収集する処理に他ならない。この分野はいまだテキスト処理や意味論的理解、人工知能、ヒューマンコンピュータインタラクションの面でブレークスルーを必要としている野心的な手法であるセマンティックウェブと目指すところが近い。対して、ウェブスクレイピングでは既存技術に基づいた、その場しのぎであろうとも現実的な解決案を良しとする。したがって、ウェブスクレイピング技術は次のような異なる自動化技術の集合体である。
- 人間によるコピーアンドペースト
- 全文検索と正規表現マッチ
- HTTPプログラミング
- データマイニングアルゴリズム
- DOM解析
- HTMLパーサ
- ウェブスクレイピングソフトウェア
- 垂直統合プラットフォーム
- 意味注釈認識
法的問題
[編集]ウェブスクレイピングはいくつかのウェブサイトの規約に反する可能性がある。 例えば、短文投稿サイトのツイッターではサービス利用規約によって明示的に禁止されており[1]、APIの利用が必須となる。
ボットを禁止するための技術的手段
[編集]ウェブサイトの管理者にはボットを停止または処理を遅らせるいくつかの手段が存在する。
- たとえば、HTMLを書く際にヘッダ内(
<head>
~</head>
)に
<meta name="robots" content="noindex,nofollow">
と記載することで、当該ページを bot により(検索エンジンなどに)登録(index
)したり、当該ページからリンクをたどっていかないように(nofollow
)指定できる。