非エンジニアが、GASでスクレイピングをやってみた!

目次

非エンジニアでも挑戦できる、GASによるスクレイピング

ウェブスクレイピングは、ウェブサイトから情報を自動で収集する技術です。通常、この作業にはプログラミングスキルが必要とされますが、Google Apps Script(GAS)を使用することで、非エンジニアでも比較的簡単にスクレイピングを行うことが可能です。この記事では、Schema.orgのデータをGASを用いてスクレイピングするプロセスを、実例を交えて紹介します。

Schema.orgとは

Schema.orgは、インターネット上の情報を構造化するための共同プロジェクトです。ウェブページや電子メールなどにマークアップを追加することで、検索エンジンが内容をより正確に理解し、リッチな検索結果を提供できるようになります。例えば、FAQページの質問と回答を構造化データとしてマークアップすることができます。

Google Apps Script(GAS)の基本

GASは、Googleが提供するスクリプトプラットフォームで、Googleサービス(Googleスプレッドシート、Googleドキュメントなど)と連携して、さまざまな自動化や拡張機能を実装できます。プログラミング初心者でも扱いやすいJavaScriptベースで、ウェブスクレイピングなどの軽量なデータ処理にも適しています。

GASでスクレイピングを始める前の準備

スクレイピングを行う前に、GASの環境設定と必要なライブラリの読み込みが必要です。この記事では、スクレイピングに適したParserライブラリを使用します。ライブラリをプロジェクトに追加することで、HTMLやXMLのパースが容易になります。

実際のスクレイピングプロセス

ウェブページのデータを取得するには、まずUrlFetchApp.fetchメソッドを使ってHTMLを取得します。次に、Parserライブラリを使用してDOMを解析し、必要なデータを抽出します。このプロセスは非常にシンプルで、数行のコードで実行できます。

コード例:GASを使ったスクレイピング

function myFunction() {
  const response = UrlFetchApp.fetch('https://example.com');
  const parsedData = Parser.data(response.getContentText()).from('type="application/ld+json">').to('').iterate();
  console.log(JSON.stringify(parsedData.map(e => JSON.parse(e))));
}

このコードは、特定のウェブページからapplication/ld+jsonタイプのスクリプトタグ内のデータを抽出し、コンソールに出力します。

応用:スプレッドシートとの組み合わせ

スクレイピングしたデータは、Googleスプレッドシートに記録して管理することも可能です。これにより、データの収集と分析を効率的に行うことができます。

まとめと今後の展望

GASを用いたスクレイピングは、プログラミングスキルが初級レベルの方でも取り組める有効な手段です。本記事で紹介した方法を基に、様々なウェブサイトから情報を収集し、ビジネスや研究に役立てることができます。非エンジニアでもデータ収集の自動化に挑戦してみましょう。

目次