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';
var response = UrlFetchApp.fetch(url);
var html = response.getContentText(); // 必要なら getContentText('UTF-8') など
var m = html.match(/]>([\s\S]?) /i);
var title = m ? m[1].trim() : 'タイトルが見つかりませんでした';
Logger.log('ページのタイトルは: ' + title);
}
コードの解説
UrlFetchApp.fetch(url)
: 指定したURLのHTMLを取得します。- 正規表現:
タグからタイトル部分を抽出します。 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(/([\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(/([\s\S]*?)<\/title>/)[1];
Logger.log("タイトル: " + title);
} catch (e) {
Logger.log("エラーが発生しました: " + e.message);
}
}
まとめ
GASを使ったWebスクレイピングは、初心者から上級者まで活用できる便利なツールです。無料で始められるうえにGoogleサービスとの親和性が高い点が魅力です。この記事で紹介したコード例を活用し、自分だけのスクレイピングツールを作成してみましょう。
今すぐ試してみたい方は、この記事を参考にGASプロジェクトを作成し、ぜひ実践してみてください!
もし、
「プログラミングを体系的に学びたい」
「エンジニア転職を頑張りたい」
「独学に限界を感じてきた...」
「コミュニティで仲間と共に学びたい」
などと感じられたら、ぜひ検討してみてください。
まずは様子見...という方は、公式LINEにぜひご登録下さい。
学習や転職ノウハウに関する豪華特典11個を無料配布しています!
LINE紹介ページで特典を確認する