GASでスクレイピングする方法 仕組み・手順・活用例・注意点をわかりやすく解説

GASでスクレイピングする方法 仕組み・手順・活用例・注意点をわかりやすく解説

「競合サイトの価格を毎日確認している」「公開データを定期的に収集したい」「Web上の情報収集を自動化したい」。こうした課題の解決に活用できるのが、GAS(Google Apps Script)によるスクレイピングです。

スクレイピングとは、Webサイトから必要な情報をプログラムで自動取得する技術です。GASのUrlFetchAppを使えば、Webページの内容を取得し、必要なデータだけを抽出してスプレッドシートへ記録する仕組みを構築できます。Googleアカウントがあれば、追加費用をかけずに始められる点もメリットです。

本記事では、GASを使ったスクレイピングの仕組みや実行手順、業務での活用例、技術的な制約、利用規約や法的・倫理的な注意点まで、初心者にもわかりやすく解説します。

確認したいポイント結論
GASでスクレイピングはできるか?できる。UrlFetchAppで取得したHTMLからデータを抽出し、スプレッドシートに記録可能
プログラミング経験は必要か?基礎的な知識があると望ましい。生成AIにコードの作成を依頼して始める方法もある
すべてのウェブサイトに対応できるか?静的なHTMLで構成されたページには対応可能。JavaScriptで動的に生成されるページには非対応
法的に問題はないか?対象サイトの利用規約とrobots.txtの確認が必須。サーバーに過剰な負荷をかける行為は厳禁

この記事でわかること

・GASによるスクレイピングの基本的な仕組みと処理の流れ

・UrlFetchAppを使ったデータ取得の具体的な手順

・競合調査・価格監視・情報収集など業務での活用例

・GASのスクレイピングで対応できないケースとその代替手段

・スクレイピング実施時に守るべき法的・倫理的な注意点

\ 業務自動化・DX推進のご相談はネクストスケールへ /
▶ 無料で経営相談する
目次

GASによるスクレイピングの仕組み

GASでのスクレイピングは、大きく3つの工程で構成されています。

工程1:ウェブページのHTMLを取得する

GASに搭載されているUrlFetchAppという機能を使って、指定したウェブページのURLに対してリクエストを送信し、そのページのHTML(ウェブページの構造を記述したテキストデータ)をまるごと取得します。この操作は、ウェブブラウザがページを表示するために裏側で行っている通信と本質的には同じ処理であり、技術的に何か特殊な処理を行っているわけではないという点を理解しておくと、スクレイピングの仕組みに対する心理的なハードルが下がります。

工程2:取得したHTMLから必要なデータを抽出する

取得したHTMLは大量のタグや装飾情報を含んでいるため、そのままでは必要な情報を取り出せません。HTMLの中から「商品名」「価格」「日付」など、目的のデータが含まれている部分を特定し、文字列の検索や外部ライブラリを使って抽出します。GASでは、Parserライブラリ(開始文字列と終了文字列でデータを挟んで取り出す方法)やCheerioライブラリ(CSSセレクタで要素を指定して取り出す方法)が、HTMLからデータを抽出するための代表的な手法として広く使われています。

工程3:抽出したデータをスプレッドシートに書き込む

抽出したデータを、Googleスプレッドシートの指定したシートとセルに自動で書き込みます。日時と合わせて記録すれば、時系列でのデータの推移を蓄積することもできます。トリガー機能と組み合わせて「毎朝8時に自動でスクレイピングを実行し、結果をスプレッドシートに追記する」といった定期実行の仕組みも、GASだけで手軽に構築することが可能です。

GASでスクレイピングを行う手順 ─ 5ステップ

ステップ1:取得したい情報と対象のURLを決める

まず、「どのウェブサイトの」「どの情報を」取得したいのかを明確にします。「競合A社のウェブサイトから商品の価格一覧を取得したい」「官公庁のウェブサイトから統計データの更新情報を取得したい」のように、取得対象と目的を最初に具体的にしておくことで、以降のコードの設計や抽出ロジックの構築がスムーズに進められるようになります。

ステップ2:対象ページのHTML構造を確認する

ブラウザで対象のウェブページを開き、取得したいデータがHTMLのどの場所に、どのようなタグ構造で記述されているかを確認します。ブラウザの「検証」機能(開発者ツール)を使えば、ページ上の任意の要素をクリックして、その要素がHTMLの中でどのようなタグ名や属性で囲まれているかを視覚的に確認でき、データ抽出の設計に必要な手がかりが得られます。

ステップ3:UrlFetchAppでHTMLを取得するコードを書く

スプレッドシートからApps Scriptのエディタを開き、UrlFetchApp.fetch(対象のURL)という記述でウェブページのHTMLを取得するコードを記述します。生成AIに「○○のウェブサイトから商品価格を取得するGASのスクレイピングコードを書いて」と依頼すれば、プログラミングの実務経験がない方であっても、業務で使えるレベルのコードの下書きを効率的に入手することが可能です。

ステップ4:HTMLからデータを抽出してスプレッドシートに書き込む

取得したHTMLの中から必要な情報を抽出し、スプレッドシートに書き込む処理を追加します。抽出には文字列操作の関数を使う方法と、外部ライブラリを活用する方法があります。Parserライブラリを使う場合は「この文字列とこの文字列に挟まれた部分を取り出す」という非常にわかりやすい記法でデータの抽出処理を記述できるため、初心者にとっても理解しやすいのが利点です。

ステップ5:トリガーを設定して定期的に自動実行する

コードが正しく動作することを確認したら、「毎日午前8時に実行する」「毎週月曜日に実行する」といったトリガーを設定して、スクレイピングの処理を自動的に定期実行する仕組みにします。一度設定すれば、以降は人間が手を動かさなくても最新のデータがスプレッドシートに日々着実に蓄積されていく、完全な自動情報収集の仕組みが完成します。

関連記事:業務効率化アイデア55選|部門別30+AI15+明日から3つで成果を出す方法

業務でのスクレイピング活用例

活用例1:競合他社の価格情報を毎日自動で収集する

競合他社のウェブサイトに掲載されている商品の価格情報を、GASが毎朝自動で取得してスプレッドシートに記録する仕組みを構築すれば、価格の変動を時系列で追跡でき、自社の価格戦略の判断材料として活用できます。それまで毎朝30分かけて行っていた手作業の確認作業がゼロになり、担当者の時間がより付加価値の高い業務に振り向けられるようになります。

活用例2:公的機関の統計データを定期的に取得・蓄積する

官公庁や業界団体が公開している統計データの更新状況を定期的に確認し、新しいデータが公開されたら自動で取得してスプレッドシートに追記する仕組みです。経営判断やレポート作成に必要な数値データを効率的に蓄積する手段として、さまざまな業種で活用されています。

活用例3:自社ウェブサイトの掲載情報を自動で検証する

自社のウェブサイトに掲載されている商品情報や料金表が正しく表示されているかを、GASが定期的にページを取得して内容を検証し、変更があった場合にメールやチャットで通知する仕組みも、GASだけで手軽に構築することが可能です。掲載内容の誤りをいち早く検知して修正する体制を自動的に構築でき、顧客への誤情報の発信を未然に防止する効果があります。

活用例4:求人情報や不動産情報を条件に合わせて自動収集する

求人サイトや不動産ポータルサイトから、指定した条件(勤務地、給与、物件の価格帯など)に合致する情報だけを自動で抽出してスプレッドシートに一覧化する仕組みです。条件に合う新着情報が掲載された際に通知を受け取る仕組みと組み合わせれば、毎日手動でウェブサイトを巡回していた時間と労力が、仕組みの力で飛躍的に効率化されます。

\ 業務自動化・DX推進のご相談はネクストスケールへ /
▶ 無料で経営相談する

GASによるスクレイピングの技術的な限界

JavaScriptで動的に生成されるページには対応できない

GASのUrlFetchAppが取得するのは、サーバーから返される「生のHTML」であり、ブラウザ上でJavaScriptが実行された後に表示されるコンテンツは取得できません。近年のウェブサイトの多くはJavaScriptで動的にコンテンツを生成しているため、この制約に該当するケースは少なくありません。対処法としては、ブラウザの開発者ツールでネットワーク通信を確認し、データ取得用のAPIのURLが見つかればそこに直接リクエストを送るという方法があります。

実行時間の制限がある

GASには1回のスクリプト実行が最大6分(一般アカウント)という制限があるため、大量のページを一度に巡回してデータを取得するような処理は、6分以内に完了しない場合があります。対策として、処理全体を複数回に分割して順番に実行する設計にすることで、この時間制限の制約を実質的に回避できます。

ログイン認証が必要なページは追加の対応が必要

ログインしなければ閲覧できないページの情報を取得するには、認証情報をリクエストに含める追加の対応が必要であり、技術的な難易度が上がります。また、認証が必要なページへのスクレイピングは、対象サービスの利用規約で禁止されている場合が多いため、利用規約で明示的にスクレイピングが許可されているか、あるいは禁止されていないかを必ず確認したうえで実施してください。

スクレイピング実施時に守るべき注意点

対象サイトの利用規約とrobots.txtを必ず確認する

スクレイピングを実施する前に、対象ウェブサイトの利用規約にスクレイピングの禁止条項がないかを確認し、robots.txt(検索エンジンやプログラムによるアクセスの可否を記載したファイル)も確認します。利用規約でスクレイピングが禁止されているサイトへの実施は、法的なトラブルにつながる可能性があるため、絶対に避けてください。

サーバーに過剰な負荷をかけない

短時間に大量のリクエストを送信すると、対象サイトのサーバーに過剰な負荷をかけることになり、業務妨害とみなされる場合があります。リクエストとリクエストの間に適切な待機時間(1秒以上の間隔を空けるなど)を設定し、相手のサーバーに配慮した良識ある設計を徹底しましょう。

取得したデータの利用目的と範囲を適切に管理する

スクレイピングで取得したデータには、著作権で保護されたコンテンツや、個人情報に該当するデータが含まれている場合があります。取得したデータをどのような目的で、どの範囲で利用するかを事前に明確にし、法律と社内のルールに従った適切な管理を行いましょう。公開データであっても、そのデータの二次利用に制限がかかっている場合があるためデータの取得元の利用条件をよく確認し、法律と社会的な常識の範囲内で適切に扱うことが不可欠です。

関連記事:AI研修とは|目的・種類・費用・助成金から失敗しない選び方まで

まとめ

GASによるスクレイピングは、Webページの情報を取得し、必要なデータを抽出してスプレッドシートなどへ記録する仕組みです。競合の価格調査や公的統計データの収集、自社サイトの掲載内容の確認などを自動化でき、手作業による情報収集の負担を軽減できます。

一方、動的に生成されるページへの対応や実行時間には制約があり、ログインが必要なサイトでは追加の対応が求められる場合があります。また、対象サイトの利用規約を確認し、サーバーへ過度な負荷をかけないことや、取得したデータを適切に管理することも重要です。

GASによる情報収集や業務自動化を検討している方は、課題分析から仕組みの構築、ツール選定、社員研修まで支援するネクストスケールへご相談ください。

AIコンサル・AX伴走支援サービスご紹介資料

社外AI役員サービスご紹介資料
  • サービス資料のページ例:社外AI役員とは
  • サービス資料のページ例:AI活用による企業変革の支援内容

この資料でこんなことがわかります!

  • 社外AI役員とは
  • 支援内容
  • 導入の進め方
  • 導入実績・効果

\3ステップで簡単入力/

この記事の監修者

石丸真平

石丸真平

株式会社ネクストスケール 代表取締役

株式会社ネクストスケールの代表。「AI時代に勝てる企業組織を共に創る」を掲げ、法人向けの生成AI研修とAX(AIによる企業変革)の伴走支援を手がける。経営課題の整理からAI活用領域の設計、ツール選定、業務への組み込み、社内定着、ROI測定までを一気通貫で支援。単なる効率化ではなく、経営戦略としてAIを活かす視点での支援を得意とする。Xでは「本当に仕事で使えるAI」をテーマに、実務で使えるノウハウを発信している。
この記事をシェアする
  • URLをコピーしました!

関連事例

他の成功事例を見る
目次

AI活用を経営成果につなげる
実践ヒントがわかる資料

社外AI役員の支援内容や導入の進め方を、わかりやすくご紹介します。

  1. 資料表紙

必要事項をご入力ください

フォームを読み込んでいます…