【初心者でも超簡単】GASでスクレイピングする方法を完全解説!

はじめに

「サイトの情報を自動で集めたい!」
「でも、スクレイピングって難しそう…」

そんなあなたに朗報です。
この記事では、Google Apps Script(GAS)を使って超簡単にスクレイピングする方法を初心者向けにわかりやすく解説します!

しかも、GASならインストール不要、ブラウザだけで完結!
今すぐあなたもスクレイピングを始められます!


そもそもスクレイピングとは?

スクレイピングとは、
ウェブサイトの情報を自動で取得する技術のこと。

たとえばこんなことができるようになります。

  • ニュースサイトから最新記事タイトルを自動収集

  • ECサイトの商品価格を定期的にチェック

  • 気になるランキング情報を毎日自動取得

要は、
「人が目で見る作業を、プログラムに任せる」 ということ!


GASでスクレイピングをするメリット

なぜGASでスクレイピングするのか?
その理由はズバリこれです。

  • 完全無料で使える

  • ブラウザだけで開発できる(インストール不要)

  • スプレッドシートと連携してデータ管理がラク

  • トリガー設定で定期実行も簡単

つまり、
初心者でもノーリスク・ノーストレスで始められるんです!


注意!スクレイピングのマナーとルール

始める前に大事な注意点を。

  • サイトの利用規約を必ずチェック(スクレイピング禁止のところもあります)

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

  • 必要があれば正式なAPIを使う

ルールを守って楽しくスクレイピングしましょう!


GASでスクレイピングする基本ステップ

では、実際の流れをざっくり整理します。

  1. 対象ページのHTMLを取得する

  2. 必要なデータを抽出する

  3. スプレッドシートなどに保存する

これだけです。
順番に丁寧に見ていきましょう!


【実践編】GASで簡単スクレイピングしてみよう!

ここからは手を動かしながら学びましょう!

ステップ1:対象サイトを決める

今回は、スクレイピングしやすいテスト用サイトとして、
https://jsonplaceholder.typicode.com/posts/1
を使います。

これはJSONデータを返してくれるテストサイトです。


ステップ2:Apps Scriptエディタを開く

スプレッドシートを開き、
「拡張機能」→「Apps Script」を選択。
新しいスクリプトエディタが開きます。


ステップ3:HTML(またはJSON)を取得する

まずはシンプルなリクエストを送ります!

function scrapeSimple() {
  const url = 'https://jsonplaceholder.typicode.com/posts/1';
  const response = UrlFetchApp.fetch(url);
  const text = response.getContentText();
  
  Logger.log(text);
}

これを実行すると、対象URLからデータが取得でき、ログに出力されます!


ステップ4:データを抽出する

JSON形式なら、パースしてオブジェクトとして扱えます。

function scrapeAndParse() {
  const url = 'https://jsonplaceholder.typicode.com/posts/1';
  const response = UrlFetchApp.fetch(url);
  const data = JSON.parse(response.getContentText());
  
  Logger.log(data.title); // 記事タイトルだけ取り出す
}

たったこれだけで、
特定のデータだけを簡単に抽出できるんです!


HTMLページから特定要素を取得する方法

「HTMLページからh1タグだけ取りたい!」
という場合もできます。

ただし、GAS単体ではHTMLパース機能が少し弱いので、
正規表現を使うのが簡単です。

例:h1タグを抜き出す

function scrapeHtml() {
  const url = 'https://example.com'; // 任意のHTMLページ
  const response = UrlFetchApp.fetch(url);
  const html = response.getContentText();
  
  const matches = html.match(/<h1.*?>(.*?)<\/h1>/i);
  if (matches && matches[1]) {
    Logger.log(matches[1]); // h1の中身だけ取得
  }
}

正規表現で特定タグをゴソッと取り出す、これが一番簡単です!


データをスプレッドシートに保存する

せっかくなら、取得したデータをスプレッドシートに保存しましょう。

function scrapeAndSave() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
  const url = 'https://jsonplaceholder.typicode.com/posts/1';
  const response = UrlFetchApp.fetch(url);
  const data = JSON.parse(response.getContentText());
  
  sheet.appendRow([data.id, data.title, data.body]);
}

これを定期的に実行すれば、
データベースみたいに情報をどんどん蓄積できます!


トリガー設定で自動スクレイピング

GASには「トリガー」という機能があり、
定期的に自動実行できます。

設定手順:

  • スクリプトエディタで「トリガー」→「新しいトリガーを追加」

  • 関数:スクレイピング関数を選択

  • イベントの種類:時間主導型 → 毎日・毎時間 など選択

これで、
完全自動でスクレイピング&データ収集できる環境が整います!


よくあるエラーと対処法

初心者がハマりやすいトラブルも紹介しておきます。

■ アクセス制限(403 Forbidden)

  • サイト側でスクレイピング禁止設定がされている場合があります

  • User-Agentをカスタマイズすれば回避できることも

例:

const options = {
  headers: {
    'User-Agent': 'Mozilla/5.0'
  }
};
UrlFetchApp.fetch(url, options);

■ ページ構成の変更

スクレイピング対象サイトのHTML構造が変わると、正規表現やタグ指定がズレます。
定期的にメンテナンスが必要です。


まとめ|GASでスクレイピングを覚えると最強になれる

この記事では、
GASを使ったスクレイピングの超基本から実践方法まで
初心者向けに徹底解説しました!

✅ HTMLやJSONの取得方法
✅ データ抽出・保存方法
✅ トリガーによる自動化
✅ よくあるトラブルと対策

これができれば、あなたはもうスクレイピング初級者卒業!

さらに応用すれば、

  • 自動レポート作成

  • トレンド情報の毎日収集

  • 競合調査の効率化

など、仕事や副業にもガンガン活かせます。

ぜひ今日から、あなたも**「スクレイピング自動化生活」**を始めてみてくださいね!

Shop now