webスクレイピング

GASで簡単Webスクレイピング!コード例と注意点を解説

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"; // スクレイピング対象のURL
  var response = UrlFetchApp.fetch(url); // URLの内容を取得
  var html = response.getContentText(); // HTMLをテキストとして取得
  var title = html.match(/<title>([\s\S]*?)<\/title>/)[1]; // タイトルタグを抽出

  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プロジェクトを作成し、ぜひ実践してみてください!

上部へスクロール