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

- 無料で利用可能:Googleアカウントさえあれば、無料で利用できます。
- クラウド上で実行可能:ローカル環境を構築する必要がありません。
- Googleサービスとの連携:スプレッドシートやGoogle Driveとの連携が簡単。
実際にGASでWebスクレイピングをしてみよう
必要な準備
- Googleアカウントの作成:すでにお持ちの方は不要です。
- 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
- スプレッドシートと連携:
- スプレッドシートにスクレイピング対象のURLリストを記載し、1つずつ処理する方法。
- エラー処理の実装:
- サイトがダウンしている場合や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プロジェクトを作成し、ぜひ実践してみてください!