puppeteer + GAS + claspでスクレイピングするまでの調べ物


やりたいこと

あるレビューサイトから、そのブランド毎のレビューを抜き出したい
特定のブランドによってはレビューが1000件を超えるものもあるし、ブランド自体も5000件ほどある
長丁場が想定されるため計画立てて進めよう
また次回スクレイピングを走らせたときに、最新のものが取れるような工夫をしたい
また自分のマシンからスクレイピングすると、めっちゃ熱くなったり時間がかかるので、サーバリソース上で完結できるようにしたい
あと、当然だけどサイト様への配慮は忘れない

puppeteer

GASから puppeteer in GCP Cloud Functionを発火する

clasp

始め方など
https://qiita.com/HeRo/items/4e65dcc82783b2766c03

clasp starter

計画

  1. ローカルでスクレイピングスクリプトを書く
    • ブランドIDとページ番号を渡して汎用的に使えるものを作る
  2. Cloud Function化する
    • インラインエディタでは辛いのでCloudSourceRepogitoriesを使う
  3. スクレイピングFunctionを呼ぶGASを作る
    • starterkitを使わせていただく
  4. いい感じに遅延処理を挟まして負荷軽減考慮する
  5. 終わったら:まとめ記事を書く

次のステップとして、定期的にスクレイピングして最新レビューを取れるようにしたいが、サイト側がスクレイピング不可的な変更をしたとき怖いので、まずは現状あるデータを全て拝領するところをゴールにする

期間

モチベーション維持のために、作るまで40時間ぐらいでできるといいなぁ

以上