用語比較
WebスクレイピングとAPIの違い|Webページから取るか、用意された窓口から取るか(DS検定)
WebスクレイピングとAPIは、どちらも外部のサービスから分析用のデータを集める方法で、違いはデータの受け取り先です。スクレイピングはWebページの内容を読み取り、APIはサービスが機能として用意した窓口を通して受け取ります。
ページの内容を読み取るのがスクレイピング、用意された窓口を使うのがAPIと区別するのが出発点です。MDNはAPIを、あるソフトウェアが外部とやりとりをするために備えている機能や規則の集まりと説明しています。
この記事の目次
この記事の根拠と出典
各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。
WebスクレイピングとAPIの要点
Webスクレイピング
Webサイト上のページを機械で取得し、必要な部分を取り出して分析用のデータにする方法。クローラーは、リンクをたどって自動でページを巡る仕組み。
API
サービスが外部とやりとりするために備えた機能や規則。決められた形式で依頼すると、決められた形式のデータが返る。
違いを表で確認
| 比較軸 | Webスクレイピング | API |
|---|---|---|
| 受け取る元 | 人が見るためのWebページ | サービスが外部向けに用意した窓口 |
| データの形 | ページの構造から必要な部分を取り出して整える | 取り決めた形式で返る(JSONなど) |
| 公式チェックリストでの対象 | Webサイト上の静的コンテンツを集める | プラットフォームが提供するSDKやAPIの機能を説明する |
| 守るルール | サイトの利用規約と、クローラーへの要望を書くrobots.txt | サービスが定める提供条件 |
| 試験で探す語 | 静的コンテンツ、クローラー、スクレイピング | SDK、API、機能の概要、通信 |
DS検定の学習に使う書籍(Amazon)
PRどこで迷っているかを切り分ける
Webサイト上の表を、分析用のデータにしたい人
サービスにデータを渡す窓口が無いなら、ページを取得して必要な部分を取り出すスクレイピングが候補になります。公式チェックリストが挙げるのは静的コンテンツの収集です。
スクレイピングの許可の有無を、まだ確認していない人
RFC 9309は、robots.txtの規則はクローラーが守るよう求められるものだが、アクセス許可の仕組みではないと述べています。許可の有無は利用規約などで別に確かめます。
APIを使うと、データの形を整えなくてよいと思っている人
APIは取り決めた形式でデータを返すため、ページの見た目に左右されません。ただし、どの項目をどう使うかは、提供される機能の説明を読んで決めます。
具体例で使い分ける
例 1
サイトの利用規約でスクレイピングが禁じられ、APIが用意されている場合
分析に使いたいデータが、あるサービスの画面に表示されています。
- 日本語版Wikipediaのウェブスクレイピングの項は、サイトによっては利用規約でスクレイピングが禁止され、APIの利用が必須になる例があると述べています。
- この場合は、ページを取得するのではなく、サービスが用意したAPIの機能の説明を読み、決められた形式で依頼します。
結論: 規約で禁じられていて窓口が用意されているなら、APIを使います。
例 2
窓口が無いサイトの、静的なページから情報を集める場合
公開されているページに、必要な項目が並んでいます。
- 公式チェックリストの項目は、Webクローラー・スクレイピングツールでWebサイト上の静的コンテンツを集めることです。
- クローラーはリンクをたどって自動でページを巡ります。RFC 9309は、サービスの管理者が好まない巡回に備えて、robots.txtで要望を伝える仕組みを定めています。
結論: 窓口が無い静的なページはスクレイピングが候補になり、robots.txtと利用規約を先に確認します。
問題文から答えを選ぶ手順
- 1
サービスが窓口を用意しているかを見る
APIが用意されているなら、まずそちらの説明を読みます。
- 2
受け取るのがページか、決まった形式のデータかを確かめる
ページから取り出すならスクレイピング、取り決めた形式で返るならAPIです。
- 3
集める対象の性質を見る
公式チェックリストが挙げるのは、スクレイピングでは静的コンテンツです。
- 4
ルールを先に確認する
利用規約、robots.txt、提供条件を確かめてから集めます。
試験での見分け方
- 1APIは、あるソフトウェアが外部とやりとりをするために備えている機能や規則の集まりである。
- 2スクレイピングは、Webページを取得して必要な部分を取り出す方法で、公式チェックリストは静的コンテンツの収集として挙げる。
- 3クローラーは自動でページを巡る仕組みで、robots.txtの規則はアクセス許可の仕組みではない。
- 4サイトによっては、利用規約でスクレイピングが禁じられていることがある。
誤答しやすい選択肢
robots.txtに書かれていなければ、自由に集めてよいと考える
修正: RFC 9309は、robots.txtの規則はアクセス許可の仕組みではないと述べています。利用規約なども確認します。
APIはWebサイト専用の仕組みだと考える
修正: MDNは、APIはソフトウェアが外部のソフトウェアやハードウェアとやりとりする機能や規則の集まりと説明しています。
確認問題
Q1サービスが外部とやりとりするために備えた機能や規則の集まりを何と呼びますか?
答え: API
MDNは、あるソフトウェアが外部とやりとりをするために備えている機能や規則の集まりと説明しています。
Q2公式チェックリストが、Webクローラー・スクレイピングツールで集められるとする対象は何ですか?
答え: Webサイト上の静的コンテンツ
データエンジニアリング領域の★1つ星の項目で、分析用データとして収集できることが求められています。
Q3robots.txtの規則は、アクセス許可の仕組みですか?
答え: アクセス許可の仕組みではない
RFC 9309は、クローラーが守るよう求められる規則で、アクセス許可の一種ではないと述べています。
到達チェック
- スクレイピングとAPIで、データの受け取り先がどう違うか言える
- 公式チェックリストの2項目を区別して説明できる
- robots.txtがアクセス許可の仕組みではないことを説明できる
- 利用規約を確認してから集める手順を言える
関連ページで確認する
同じ資格で次に知りたいこと
- コンテナと仮想マシンの違い|カーネルを共有するか、OS全体を持つか(DS検定)
コンテナと仮想マシン(VM)の違いを、カーネルの共有、隔離の単位、イメージの性質から解説。DS検定のデータエンジニアリングで問われるコンテナ技術の判断手順と確認問題つきです。
- 形態素解析と係り受け解析の違い|単語に分けるか、単語どうしのつながりを調べるか(DS検定)
形態素解析と係り受け解析の違いを、入力と出力、処理の順序、日本語の例文で解説。DS検定の自然言語処理で問われる見分け方の手順と確認問題つきです。
- 第一正規形・第二正規形・第三正規形の違い|何を取り除く段階か(DS検定)
第一正規形・第二正規形・第三正規形の違いを、1つの注文テーブルを分けていく例で解説。DS検定のデータ構造で問われる見分け方の手順と確認問題つきです。
よくある質問
QWebスクレイピングとAPIの一番大きな違いは何ですか?
データの受け取り先です。スクレイピングはWebページの内容を読み取り、APIはサービスが外部向けに用意した窓口から決まった形式で受け取ります。
Qrobots.txtで許可されていれば、スクレイピングしてよいですか?
RFC 9309は、robots.txtの規則はアクセス許可の仕組みではないと述べています。利用規約なども確認します。
Qどちらを先に検討すべきですか?
サービスがAPIを用意しているなら、まずAPIの説明を読みます。窓口が無い静的なページはスクレイピングが候補になります。
QDS検定にスクレイピングやAPIは出ますか?
データサイエンティスト協会のスキルチェックリストのデータエンジニアリング領域に、SDKやAPIの機能の概要の説明と、Webクローラー・スクレイピングツールによる静的コンテンツの収集が★1つ星の項目として含まれます。
次に見る比較
- G検定・DS検定・統計検定2級で重なる用語10語の比較
同じ名前の用語の定義と収録章を、資格ごとに並べます。
- ベイズの定理と条件付き確率の違い(統計検定2級の式と計算例)
求める確率の向きの違いと、陽性になる確率の計算例を確かめます。
- 紛らわしい用語ペア早見表
混同しやすい用語の違いと判定の手掛かりを、資格別の一覧で確かめます。
執筆: AI資格ドリル編集部(運営者情報を見る)
