Skip to content

tsuyopon-xyz/yt-ads-scraping-online-seminar

Repository files navigation

「Nest.js × Puppeteer × Supabase」で、YouTube 広告動画と LP を自動収集&保存するプログラム開発講座

この講座が生まれた経緯

この講座は、僕が運営している「プログラミング学習系のコミュニティ・メルマガ・LINE」に、「TypeScriptを使った、広告動画を自動収集するプログラムの実装方法に興味があればメッセージください」 と案内を出したことがきっかけで生まれました。


案内に対して反応が全く無ければ、この講座を作ることは無かったのですが、複数の方から「興味ある」とメッセージをいただいたので、「興味持ってくれる人がいるなら作るか!」 という気持ちで、今回の講座を作ることにしました。


参考までに、「どこで上記のような案内を出しているか?」 と興味を持たれる方もいらっしゃるかもしれないので、その情報を共有しておきます。


主に、以下のところで上記のようなプログラミングの「勉強会」「講座」「相談会」の案内を出しています。


この講座で学ぶこと

学ぶ内容は以下のとおりです。 最後の「演習課題」に向けて、利用する技術を1つずつステップアップ形式で学んでいきます。

1. NestJS
  • バックエンドのWebフレームワーク。
  • 定期実行の機能も持つ。
2. Puppeteer
  • プログラムからブラウザを起動できる
  • 通常のブラウザのように、ページ上の要素をクリックしたりスクロールもできる
  • スクレイピングができる
3. Docker, Docker Compose, DBeaver
  • Docker, Docker Composeを使って、開発環境ごとにローカルDBを用意する方法を学ぶ
  • DBeaverを使って、DBの中身を確認する方法を学ぶ
4. Prisma
  • プログラムからデータベースとやりとりができるライブラリ
  • コマンドでDBにテーブルを作ったり、データをリセットするのも簡単なツール
5. Supabase
  • Firebaseのようなバックエンド開発支援のWebサービス(BaaSの1つ)
  • Firebaseとの大きな違いはRDBを使えること(FirebaseはNoSQL(Firestore))
  • Firebaseと同じように無料でも使える
6. YouTube Data API
  • YouTubeの操作を行えるAPI(動画、チャンネル、コメントなどの取得・作成・更新など)
  • 講座では、Puppeteerを使って取得した広告動画のIDを使って、広告動画の詳細情報を取得する
7. 【演習課題】「定期的なYouTubeの広告動画のIDとLPのURLを自動収集→DB保存」のプログラム開発
  • 上記の技術を学んだあとの集大成としての演習課題
  • 上記各パートで実装する機能をうまく組み合わせることでできる
  • 機能別に段階的に開発を進めるため、実践的な開発スキルも身につく

サンプルコード

先ほど紹介した各技術ごとにサンプルコードを用意しています。

学ぶ技術ごとにディレクトリを分けているので、必要に応じて学習の参考としてお使いください。

  • nestjs-part : 「NestJS」の解説で利用するサンプルコード
  • puppeteer-part : 「Puppeteer」の解説で利用するサンプルコード
  • docker-part : 「Docker, Docker Compose, DBeaver」の解説で利用するサンプルコード
  • prisma-part : 「Prisma」「Supabase」の解説で利用するサンプルコード
  • youtube-data-api-part : 「YouTube Data API」の解説で利用するサンプルコード
  • exercise-part : 「演習課題」の解説で利用するサンプルコード

解説動画

この開発講座の解説動画は再生リストとしてまとめています。 再生リストは以下のリンクから確認できます。


解説動画内で使っている解説ページを見たい場合

解説動画で使っている解説ページのリンクは、メールでお渡ししています。 ページも使って学習をしたい方は、ぜひこちらから受け取っていただけたらと思います。


個別サポートを受けたい方向け

  • 学習に行き詰まった
  • エラー対応ができず先に進められない
  • 学習のサポートが欲しい

といった方向けにも、学習サポートを用意しています。

詳細は先ほど紹介したメールの中でも説明しています。 そちらで個別サポートの詳細をご確認いただけたらと思います。 (サポートのやりとりの連絡手段に、このメールを使う)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published