Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
無限LT #3 発表1回目 Firebaseでスクレイピングした話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ryo
September 15, 2019
130
0
Share
無限LT #3 発表1回目 Firebaseでスクレイピングした話
ryo
September 15, 2019
More Decks by ryo
See All by ryo
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
1
510
退屈なことはDevinにやらせよう〜〜Devin APIを使ったVisual Regression Testの自動追加〜
kawamataryo
5
2.2k
SaaS公式MCPサーバーをリリースして得た学び
kawamataryo
7
2.1k
Raycast AI APIを使ってちょっと便利な拡張機能を作ってみた / created-a-handy-extension-using-the-raycast-ai-api
kawamataryo
1
830
ts-morphのパフォーマンス改善Tips
kawamataryo
0
110
webpack to Rspack
kawamataryo
0
110
GitHub Actions と Datadog でコードベースの定点観測
kawamataryo
7
2.1k
個人開発駆動学習 / personal development driven learning
kawamataryo
1
290
GitHub Trending Bot, Sky Follower Bridge の紹介
kawamataryo
0
500
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
890
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
100
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
250
30 Presentation Tips
portentint
PRO
1
280
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
370
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.5k
Side Projects
sachag
455
43k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
720
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
270
Abbi's Birthday
coloredviolet
2
7.2k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
310
Transcript
Firebaseのリソースをフルに使って スクレイピングアプリを作った話
Agenda 1. 開発の動機 2. 要件 3. 構成図 4. アプリ紹介 5.
作ってみての所感 6. まとめ
1. 開発の動機
定期的に更新情報を 確認しているサイトがある
Firebase 勉強したい (元Fire Fighterだけに)
Firebaseで、 スクレイピングだ….!!!
2. 要件・仕様
• HPでのみ予約状況を公開しているお店 • いつも人気でキャンセル待ち • 予約状況は不定期に更新される • 空き情報のメルマガなどはない • 定期的にHPを確認するしかない
想定
仕様
仕様.1 HPから予約情報を取得できる FirebaseFunctionsでPuppeteerを 動かしてスクショを取得
仕様.2 定期的に実行できる FirebaseのCloud Scheduler で指定周期で実行
仕様.3 情報を通知できる Firebase Functionsで Slackに通知を送る
仕様.4 差分がある時だけ通知する ImageMagickで画像の差分を取得 差分がある時だけ通知を実行
仕様.5 管理画面で対象を管理したい Firebase Auth + Vue.jsで 認証機能付き管理画面作成 Firebase Hosting にホスト
3. システム構成
None
4. アプリ紹介
DEMO https://contact-form-demo-83958.firebaseapp.com/
5. 所感
5-1. 良かったところ
何より楽 インフラ考えなくて良い
TypeScript だけで完結
一通りのFirebaseの リソース触れた
5-2. 詰まったところ
無料プランでは動作しない
Cloud Schedulerの SDK経由のアップデート
node経由での ImageMagickの使い方 https://github.com/kawamataryo/firebase-fucnctions-auto-image-di ff/blob/master/functions/src/lib/imageMagick.ts#L25
6. まとめ
Firebaseいいぞ.. !!!
おわり