Google Apps Script (GAS) を活用して、効率的にWebスクレイピングを行う方法をご存じですか?この記事では、GASでのWebスクレイピングの基本から応用まで、実際のコード例を交えて詳しく解説します。初心者の方でも簡単に始められる内容となっています。


GASでWebスクレイピングを行うメリットとは?

GAS_ウェブスクレイピング
  • 無料で利用可能:Googleアカウントさえあれば、無料で利用できます。
  • クラウド上で実行可能:ローカル環境を構築する必要がありません。
  • Googleサービスとの連携:スプレッドシートやGoogle Driveとの連携が簡単。

実際にGASでWebスクレイピングをしてみよう

必要な準備

  1. Googleアカウントの作成:すでにお持ちの方は不要です。
  2. Google Apps Scriptのプロジェクト作成
    • Google Driveにアクセスし、「+ 新規」 > 「その他」 > 「Google Apps Script」を選択。

実際のコード例:簡単なWebページの情報取得

以下の例では、GASを使って指定したURLのタイトルを取得します。

function scrapeWebPage() {
  var url = 'https://example.com';
  var response = UrlFetchApp.fetch(url);
  var html = response.getContentText(); // 必要なら getContentText('UTF-8') など
  var m = html.match(/<title[^>]>([\s\S]?)</title>/i);
  var title = m ? m[1].trim() : 'タイトルが見つかりませんでした';
  Logger.log('ページのタイトルは: ' + title);
}

コードの解説

  • UrlFetchApp.fetch(url): 指定したURLのHTMLを取得します。
  • 正規表現: <title>タグからタイトル部分を抽出します。
  • Logger.log(): 実行結果をログに表示します。

GASでスクレイピング結果をGoogleスプレッドシートに保存

次のコードは、取得したデータをGoogleスプレッドシートに自動的に保存する方法です。

function scrapeAndSaveToSheet() {
  var url = "https://example.com";
  var response = UrlFetchApp.fetch(url);
  var html = response.getContentText();
  var title = html.match(/<title>([\s\S]*?)<\/title>/)[1];

  // スプレッドシートに保存
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.appendRow([url, title]); // URLとタイトルを1行に追加
}

注意点とベストプラクティス

  • 利用規約の確認:Webスクレイピングを行う際は、対象サイトの利用規約を確認してください。
  • アクセス頻度の制御:頻繁なリクエストは、サーバーに負荷をかける可能性があります。
  • GASの制限:リクエスト数や実行時間に制限があるため、大量のデータを取得する場合は工夫が必要です。

GASでのスクレイピングをさらに便利にするTips

  1. スプレッドシートと連携
    • スプレッドシートにスクレイピング対象のURLリストを記載し、1つずつ処理する方法。
  2. エラー処理の実装
    • サイトがダウンしている場合やHTML構造が変更された場合でもエラーにならないように工夫します。
function scrapeWithErrorHandling() {
  try {
    var url = "https://example.com";
    var response = UrlFetchApp.fetch(url);
    var html = response.getContentText();
    var title = html.match(/<title>([\s\S]*?)<\/title>/)[1];
    Logger.log("タイトル: " + title);
  } catch (e) {
    Logger.log("エラーが発生しました: " + e.message);
  }
}

まとめ

GASを使ったWebスクレイピングは、初心者から上級者まで活用できる便利なツールです。無料で始められるうえにGoogleサービスとの親和性が高い点が魅力です。この記事で紹介したコード例を活用し、自分だけのスクレイピングツールを作成してみましょう。

今すぐ試してみたい方は、この記事を参考にGASプロジェクトを作成し、ぜひ実践してみてください!

もし、

「プログラミングを体系的に学びたい」
「エンジニア転職を頑張りたい」
「独学に限界を感じてきた...」
「コミュニティで仲間と共に学びたい」

などと感じられたら、ぜひ検討してみてください。

個別面談・説明会はこちら!


まずは様子見...という方は、公式LINEにぜひご登録下さい。
学習や転職ノウハウに関する豪華特典11個を無料配布しています!
LINE紹介ページで特典を確認する


■YouTube(SiiD受講生さま実績)

■YouTube(セイト先生メイン)

■X(旧Twitter)