GASを使ってWEBスクレイピングを最適化しよう!注意点も紹介

ビジネスやプライベートでパソコンを使った作業する人にとって、効率化は重要な要素と言えます。数ある自動化ツールの中でも、機能性や使いやすさで注目を集めているのがGASです。
今回はGASの概要や魅力を紹介すると共に、スクレイピングの手順について解説していきます。

GASの概要

GASの概要
GASはアメリカに本社を置くGoogleが提供しているローコード開発ツールになります。GASを利用することでカレンダーやスプレッドシート、ドライブといった数多くのGoogleのサービスの処理を自動化できるのが強みです。
他のサービスとの連携も可能なので、作業の大幅な効率化が実現できるなど利用者にとってメリットの多い開発ツールとして注目されています。
開発環境のセットアップをする必要がなく、Google専用メールのアカウントを保持している人であれば無料ですぐに利用できるのも特徴の一つです。

GASスクレイピングの基本手順

処理の自動化やアプリ開発など様々な使い方ができるGASですが、スクレイピングを行うには正しい手順を踏まなくてはいけません。
以下の手段を解説していきます。
  1. スプレッドシートの作成
  2. Parserライブラリのインストール
  3. スクレイピングするサイトの確認
  4. 対象のサイトからHTMLの取得

スプレッドシートの作成

スクレイピングを作成するにあたって、最初に行う作業がスプレッドシートの作成になります。スプレッドシートの作成は必須ではありませんが、完成させたデータを保存しておけば作業後に整理や分析を簡単に行うことが可能です。
ビジネスでの利用など、過去のデータを振り返る機会が多い場合には、作業をスムーズに行うためにも事前のスプレッドシートの作成が必要になります。

Parserライブラリのインストール

次に行うのがWebサイトのテキストを分析に特化した、Parserライブラリのインストールです。事前にインストールしておくとGASでHTMLの解析処理を簡単に行えるようになります。
インストールはホーム画面の左側にある項目からライブラリを選択、表示された画面の上部に専用IDを入力して検索をクリックすれば完了です。処理が正しく行われていればホーム画面のライブラリの下にParserという項目が新たに追加されます。

スクレイピングするサイトの確認

作業をする上で忘れてしまう人も多いのがサイトの確認です。インターネット上に存在するWebサイトは規約や著作権などで保護されている物もたくさんあります。
確認をせずに手当たり次第にスクレイピングを行うと、サーバーへの負荷、著作権法違反などでトラブルになるケースもあるので注意が必要です。
著作権の有無はサイトのトップページを開いて、画面上部に記載されているURLの末尾に/robots.txtを加えることで確認できます。

対象のサイトからHTMLの取得

規約や著作権違反に抵触せずスクレイピングが可能であることを確認したら、次はHTMLの取得です。
GASを利用したHTMLの取得は、専用の文字コードをタグ内の所定の位置に合わせることで簡単に行えます。取得をしたら必要な部分だけを抽出して目的に応じた処理をしていくという流れです。
取得後の加工はリスト型、文字列どちらを選択するかで手順が変わります。文字列であればそのまま加工作業を行えますが、リスト型にする場合にはループ機能を利用して個別に要素を処理していかなくてはいけません。

GASのスクレイピングを最適化する手順

GASのスクレイピングを最適化する手順
実装の最適化はGASのスクレイピング作業をスムーズに行う上で重要なテクニックの一つです。

APIの回数を減らす

最適化に繋がる重要なポイントにAPIの回数の削減があります。GASはスプレッドシートやドキュメントを操作する時にAPIを呼び出すことができますが、繰り返し行えば実装速度の低下は避けられません。
いくらGoogleのAPIが高速と言っても必要以上の負荷が掛かれば対応できなくなります。作業も効率化を図るには、スプレッドシートのアクセスを最小限に抑えることが大切です。

データ処理を分散させる

プログラミング言語のGASは大量のデータを一度に処理する作業を得意としていません。そのため、データ量が増えていくと必然的にパフォーマンスが低下していきます。
パフォーマンスの低下はデータ処理の遅延を招くだけでなく、実行時間の制限に達して作業が強制終了させられる原因の一つです。
時間に余裕を持って作業をしてデータ処理の負担を減らすことが最適化に繋がります。

GASのスクレイピングを利用するメリット・デメリット

GASのスクレイピングはメリットも多い反面、デメリットになる部分もいくつかあります。利用をする時はメリットだけでなくデメリットについても理解しておかなくてはいけません。

GASスクレイピングのメリット

GASのスクレイピングを利用する主なメリット2つを紹介します。

セットアップが不要

通常のスクレイピングでは、作業を行う前にインストールなどのセットアップ作業が必要です。パソコンの操作に慣れていなかったり、専門知識を持っていないユーザーにとって事前のセットアップは大きなハードルとなります。
GASはツールを起動させるだけで面倒なセットアップが完了するので、すぐに作業に取り掛かることが可能です。

リアルタイムの共有がしやすい

Pythonでスクレイピングを行うと他のユーザーと結果の共有をするために専用サーバーのデータまでアクセスする必要があります。
共有サーバーは不特定多数のユーザーが利用しているため、セキュリティ対策なども施さなくてはいけないなど手間と時間が掛かるのは避けられません。
GASは作成したスプレッドシートに取得した数値を入力、保存できるのでURLをコピーして送信するだけで指定した相手と共有できます。

GASスクレイピングのデメリット

GASのスクレイピングのデメリットは以下のものが挙げられます。

利用における制限や上限の厳しさ

デメリットとして挙げられるのが回数制限です。GASのスクレイピング作業にはAPIの呼び出しや実行時間などいくつかの制限が設けられています。利用回数も同様に、既定数に達すると使えなくなるので翌日以降まで待たなくてはいけません。
業務としてスクレイピングをする場合には作業が停滞する可能性があります。有料にすることで上限を撤廃できるので、定期的に回数の上限に達してしまう時は契約の変更を検討するのも一つの手です。

細かい時間指定ができない

GASではトリガーによる時間指定が1時間に1回といったように、分単位での指定ができない仕様になっています。
個人での利用に限定しているのであれば特に影響はありませんが、他のシステムとの連携では支障が出ることもあるので注意が必要です。

GASスクレイピングの注意点

GASスクレイピングの注意点

GASのスクレイピングを利用する際に注意すべきこと解説していきます。

サーバーに多大な負荷がかかる

スクレイピング作業を行う時の大事な注意点がサーバーへの負荷です。短時間に何度もアクセスをしたりスクレイピング作業を行うとサーバーに大きな負荷が掛かります。
多大な負荷が掛かったことでサーバーダウンが起きたなどを理由に、復旧費用を請求されるなどトラブルに発展するケースも少なくありません。
相手側の受け取り方によってはサイバー攻撃とみなされて法的処置を取られることもあります。アクセスの間隔を十分に確保するなどサーバーに負荷を掛けないことが基本です。

個人情報への配慮

サーバーへの負荷以外では、プライバシーの侵害も注意すべきポイントに挙げられます。スクレイピングが認められているサイトであっても、取得したデータに個人情報が含まれていると取り扱い次第で侵害行為になりかねません。
内容をしっかりと確認して、個人情報が含まれている時は慎重に取り扱う必要があります。

GASスクレイピングはスキル習得と法律の理解が必要

GASは初心者でも簡単にスクレイピング作業ができる便利なツールですが、著作権やプライバシーに配慮しなければトラブルに発展することもあります。
スクレイピング作業は専門スキルを身に着けるだけでなく、法律への理解も深めておかなくてはいけません。
GASを使ってWEBスクレイピングを最適化しよう!
最新情報をチェックしよう!