用語比較
Webスクレイピングと Web API の違い|画面から取るか、提供口から取るか(DS検定)
Webスクレイピングと Web API の違いはデータの取り口です。Webスクレイピングは人が見るために作られたWebページからプログラムでデータを抜き出し、Web API はデータの提供側が用意した窓口にリクエストを送ってデータを受け取ります。
ページから抜き出すのがスクレイピング、提供口から受け取るのがWeb APIと区別するのが出発点です。
この記事の目次
この記事の根拠と出典
各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。
WebスクレイピングとWeb APIの要点
Webスクレイピング
Webページから、プログラムでデータを抜き出す方法。提供側が用意した窓口がない場合にも使える。
Web API
提供側が用意した窓口(エンドポイント)にHTTPでリクエストを送り、データを受け取る方法。公開のものと、アクセストークンが要るものがある。
違いを表で確認
| 比較軸 | Webスクレイピング | Web API |
|---|---|---|
| データの取り口 | 人が見るために作られたWebページ | 提供側がデータの受け渡しのために用意した窓口 |
| 取得の流れ | ページを取得して、必要な部分を抜き出す | 窓口のURIにHTTPでリクエストを送り、応答を受け取る |
| 提供側の想定 | 自動での利用は想定されていないことが多い | プログラムからの利用を前提に用意されている |
| 使うときの確認 | サイトの利用規約に反する場合がある。効力は明確でないと説明されている | 公開か非公開かを確かめる。非公開はアクセストークンが要る |
| 試験で探す語 | Webクローラー、スクレイピング、静的コンテンツ | REST、Web API、取得、JSON |
DS検定の学習に使う書籍(Amazon)
PRどこで迷っているかを切り分ける
どちらを先に調べればよいか迷っている人
データの提供側がWeb APIを公開しているかを先に確かめます。公開されていれば、受け渡し用に用意された窓口を使えます。窓口がない場合に、Webページからの抜き出しを考えます。
スクレイピングは常に自由に使えると思っている人
Wikipediaは、スクレイピングが一部のサイトの利用規約に反する場合があり、その規約が効力を持つかは明確でないと説明しています。国によって扱いも異なるため、対象サイトの規約を確かめてから使います。
試験で2つの用語を混同しやすい人
チェックリストでは、スクレイピングは「Webサイト上の静的コンテンツを集める」、Web APIは「RESTなどでデータを取得する」と別々に書かれています。取り口が、ページか窓口かで区別します。
具体例で使い分ける
例 1
提供側がAPIを公開していない商品ページの情報を、分析に使いたい場合
画面で見られる情報はあるが、データを受け取る窓口は公開されていない場面です。
- 窓口がないため、ページを取得して必要な部分を抜き出す方法になります。
- ただし、ページは人が見るために作られているため、構造が変わると取得できなくなります。利用規約も確かめる必要があります。
結論: 窓口がない場合は、スクレイピングを考えます。先に利用規約を確かめます。
例 2
提供側が、データ取得用のAPIを公開している場合
データの提供側が、取得用の窓口とその説明を公開している場面です。
- 窓口のURIにHTTPでリクエストを送れば、決まった形の応答でデータを受け取れます。
- 非公開のAPIなら、アクセストークンが必要です。公開されている窓口があるなら、ページから抜き出す必要はありません。
結論: 提供側が窓口を用意しているなら、Web APIを先に選びます。
問題文から答えを選ぶ手順
- 1
提供側の窓口があるかを調べる
Web APIが公開されているかを確かめます。公開されていれば、窓口の説明に従って取得します。
- 2
窓口がなければ、ページの取得を考える
人が見るためのWebページから、必要な部分を抜き出します。静的なコンテンツが対象になります。
- 3
利用規約を確かめる
スクレイピングは、サイトの利用規約に反する場合があります。使う前に対象サイトの規約を読みます。
- 4
アクセスの条件を確かめる
非公開のWeb APIは、アクセストークンが必要です。発行の条件を確かめます。
試験での見分け方
- 1Webスクレイピングは、Webページからプログラムでデータを抜き出す方法である。
- 2Web APIは、提供側が用意した窓口にHTTPでリクエストを送り、データを受け取る方法である。
- 3提供側がWeb APIを用意しているなら、先にそちらを確かめる。
- 4Wikipediaは、多くのWebページが人の閲覧を想定して作られ、自動で使いやすい形になっていないため、スクレイピング専用の道具が作られてきたと説明している。
誤答しやすい選択肢
スクレイピングとWeb APIを、同じものだと考える
修正: 取り口が違います。スクレイピングは人が見るためのページから抜き出し、Web APIは提供側が用意した窓口から受け取ります。
公開されているページなら、スクレイピングは常に問題ないと考える
修正: サイトの利用規約に反する場合があります。対象サイトの規約を確かめてから使います。
Web APIは、誰でも自由に使えると考える
修正: 公開のものと、アクセストークンが要る非公開のものがあります。条件は提供側の説明に従います。
確認問題
Q1Webページから、プログラムでデータを抜き出す方法は何ですか?
答え: Webスクレイピング
人が見るために作られたページから、必要な部分を取り出します。
Q2提供側が用意した窓口にHTTPでリクエストを送り、データを受け取る方法は何ですか?
答え: Web API
窓口は、URIで示されるエンドポイントです。
Q3非公開のWeb APIにアクセスするときに必要になるものは何ですか?
答え: アクセストークン
Wikipediaは、Web APIには公開のものと、アクセストークンが必要な非公開のものがあると説明しています。
到達チェック
- スクレイピングとWeb APIの取り口の違いを言える
- 窓口があるときに、先にWeb APIを選ぶ理由を説明できる
- スクレイピングで利用規約を確かめる理由を言える
- 公開のAPIと非公開のAPIの違いを言える
関連ページで確認する
同じ資格で次に知りたいこと
- HadoopとSparkの違い|保存と処理の基盤か、処理エンジンか(DS検定)
HadoopとSparkの違いを、役割、データの置き場所、MapReduceとの関係、向く用途で解説。DS検定のデータ蓄積で問われるHDFS・MapReduce・YARNの位置づけと確認問題つきです。
- WHERE句とHAVING句の違い|集計の前に絞るか、後に絞るか(DS検定)
SQLのWHERE句とHAVING句の違いを、絞り込むタイミング、集計関数を使えるか、書き方の例で解説。DS検定のSQLで問われるGROUP BYと集計の使い分けと確認問題つきです。
- バッチ処理とストリーム処理の違い|まとめて処理するか、届くたびに処理するか(DS検定)
バッチ処理とストリーム処理の違いを、処理のタイミング、結果が出るまでの待ち時間、向く用途で解説。DS検定のデータ蓄積で問われるKafka・Flinkなどの位置づけと確認問題つきです。
よくある質問
QWebスクレイピングと Web API の一番大きな違いは何ですか?
データの取り口です。スクレイピングは人が見るためのWebページから抜き出し、Web APIは提供側が用意した窓口から受け取ります。
QWeb APIがあるなら、スクレイピングは不要ですか?
提供側が必要なデータを窓口で公開しているなら、先にそちらを使うのが基本です。窓口にないデータだけがページにある場合に、スクレイピングを考えます。
Qスクレイピングは違法ですか?
Wikipediaは、合法かどうかは国によって異なり、一般にサイトの利用規約に反する場合があるものの、その規約の効力は明確でないと説明しています。個別の判断は、対象サイトの規約や専門家の説明に従ってください。
QDS検定にスクレイピングとWeb APIは出ますか?
データサイエンティスト協会のスキルチェックリストに、スクレイピングツールで静的コンテンツを収集できること(データ収集の★1つ星)と、RESTなどのWeb APIでデータを取得できること(データ共有の★1つ星)が含まれます。
次に見る比較
- G検定・DS検定・統計検定2級で重なる用語10語の比較
同じ名前の用語の定義と収録章を、資格ごとに並べます。
- ベイズの定理と条件付き確率の違い(統計検定2級の式と計算例)
求める確率の向きの違いと、陽性になる確率の計算例を確かめます。
- 紛らわしい用語ペア早見表
混同しやすい用語の違いと判定の手掛かりを、資格別の一覧で確かめます。
執筆: AI資格ドリル編集部(運営者情報を見る)
