Google Apps Script でクローラーを作る
自分のサイトの情報を抽出したくてクローラーを作ろうとしました。
最初に言っておきたいのですが、GASには一日の実行可能時間に制限があるため、1日中クローラーを動かすようなことはできません。
「サービスで 1 日に使用しているコンピュータ時間が長すぎます」とエラーメールが来ます。
時間については以下のトリガーの合計実行時間を参照してください。
QUOTA LIMITS
処理の流れ
基本的にやることはhtmlをフェッチしてきて、正規表現で取得したい情報を抽出するだけです。
GASで使えそうなhtmlパーサーなどは見つかりませんでした。
なので基本的な形は以下のようになります。
1 | function myFunction() { |
また、GASは1回の実行時間が6分間で制限されていますが、これはトリガーを使うことで解決できます。
Google Apps Script で6分以上の処理をするを参照してください。
クロールする際、サイトに負荷かけないように処理をスリープするのは以下で可能です。
1 | Utilities.sleep(60000); //ミリ秒 |