用語解説 スクレイピング

スクレイピングとは

スクレイピングとは、Webページから必要な情報をプログラムで自動的に抜き出す技術のこと。仕組み、代表的なツールと使い方、費用の内訳、規約・法務の注意点、AI学習データをめぐるMetaの最近の動きを整理する。

スクレイピング(Webスクレイピング)とは、Webページを取得し、そのHTMLから価格や見出しなど必要な情報だけをプログラムで抜き出して、表やデータベースに保存する技術です。特定の製品の名前ではなく、手作業のコピー&ペーストを自動化する手法を広く指す言葉です。

スクレイピングとは:何ができるのか

処理は3段階に分かれます。①ページを取得する(HTTPリクエストを送るか、ブラウザを自動操作して表示させる)。②HTMLの構造をたどって目的の要素を特定する(CSSセレクタやXPathで「この表の3列目」のように指定する)。③取り出した値を整形して保存する。

似た言葉に「クローリング」があります。クローリングはリンクをたどってページを巡回・収集すること、スクレイピングは取得したページから中身を抽出することです。実務では両方を組み合わせて使います。

企画・DXでの典型的な用途は、競合の価格や在庫の定点観測、求人・不動産などの公開情報の集計、ニュースや口コミの収集・分析、APIのない既存システムからのデータ移行です。

使い方:代表的なツール

Pythonでは、requestsでページを取得してBeautiful SoupでHTMLを解析する組み合わせが入門の定番です。大量のページを巡回するならフレームワークのScrapyを使います。JavaScriptで後から描画されるページには、ブラウザを自動操作するSeleniumやPlaywrightを使います。

スクレイピングはページのHTML構造に依存するため、相手サイトがデザインを変えると動かなくなります。公式APIが提供されているなら、保守の面でも規約の面でもそちらを優先するほうが安全です。

料金:いくらかかるのか

スクレイピングは技術の名前なので、それ自体の定価はありません。上に挙げたライブラリはオープンソースで、無料で使えます。費用がかかるのは、実行するサーバーやクラウドの利用料、開発・保守の人件費、収集代行サービスやノーコードツールを使う場合の利用料です。サービスごとの価格は本記事では扱いません。費用を左右するのは、対象サイトの数、更新頻度、サイト変更に追従するための保守工数です。

誰が作っているのか・法的な注意点

スクレイピングに単一の開発元はなく、ツールはオープンソースのコミュニティや各ベンダーが提供しています。最近の焦点は、データを持つ側の動きです。生成AIの学習用にWeb上の情報が大量に収集されるようになり、収集する側とされる側の緊張が表面化しています。

当サイトでは、Metaに関する報道を3件取り上げました。スクレイピングやAI学習への懸念を招いた文言を削除した(TechCrunch)、ニュースサイトの収集を許しうる文言を削除した(The Verge)、法人顧客のコンテンツをAI学習に使う権利を自社に付与した(The Register)、というものです。いずれも確認できているのは見出しだけで、対象の文書や経緯は分かっていません。

スクレイピングを行う側が確認すべきなのは、対象サイトの利用規約、robots.txtの指示、アクセス頻度の3点です。短時間に大量のリクエストを送ると相手のサーバーに負荷をかけ、トラブルの原因になります。集めたデータの使い方には著作権や個人情報保護のルールも関わるため、商用で使う場合は事前に法務へ確認してください。

スクレイピングに関する記事

3 件