🐍
2022年にpythonとAWS Lambdaで作ったもの
1. まえがき
去年作ったプログラムのまとめ記事となります。
2. 競馬関係のTwitter BOT
2022年の初めに、「AWSではじめるインフラ構築入門」の本を購入し、アプリを作成
自分でも作成して見ようと、興味がある競馬関連のTwitterのBOTを4つ作成
- 1号機(今日のハクサン地方競馬出走情報Bot)
- 2号機(明日のメイショウ冠名馬中央競馬出走情報と今日の競走結果情報BOT)
- 3号機(マカオ競馬の日本人騎手レース結果Bot)
- 4号機(地方競馬所属騎手のJRA出走情報BOT)
システム構成は、以下。
2.1 苦労した点
- Twitter APIの申請と、認証キーの取得に試行錯誤
また、Twitter API V2を利用しており、ネット検索してもV1の参考コードが多くヒットし、初Twitterするまで試行錯誤 - AWS Lambda の250MB容量制限に苦しみ、seleniumを使用したスクレイピングを諦め、beautifulsoupを使用
- エラー検知についても、色々な方法を試したが、結局、AWS SNS(Simple Notification Service)でのEメール通知に落ち着く
2.2 今後の改善点
- マカオ競馬の中野騎手が、2023年春にシンガポール競馬に移籍することから、シンガポール競馬の競走結果を取得処理を追加
- 勝利レースのツイートには、Youtubeのレース映像を追加ツイートするように、改修を行う予定
トリガーについては、pubsubhubbubを利用し、Youtubeチャンネルの更新契機にAWS Lambdaが起動する構成を検討中
「AWS Lambda Function URL」を利用すれば、「Amazon API Gateway」を使用せずともAWS Lambdaのみで実現可能そう
3. Google Analytics 4(GA4)のTwitter BOT
GA4のリアルタイムのアクティブユーザ数を取得し、閾値を超えた場合に、
TwitterするBOTを作成して欲しいという依頼を受けて以下のTwitter BOTを2022年末に作成
ちなみに、2023年7月1日に、旧Googleアナリティクスは廃止され、GA4へ完全移行する
3.1 苦労した点
- 「Analytics Data API」を利用し、GA4のリアルタイム情報を取得しているのですが、あまりネット文献がなく試行錯誤
そもそも新規APIのようで、やりたいことがまだ未実装だったりと、今後の機能追加に期待したい
3.2 今後の改善点
- 「Analytics Data API」のリアルタイム情報には、ページタイトルとスクリーン名の取得ができるが、
該当ページのURL情報の取得ができない。
※リアルタイム情報で無ければ、取得は可能・・・
4. あとがき
最後まで読んで頂き、ありがとうございます。
ご紹介した競馬関係のTwitter BOTの2号機の作り方については、
以下の書籍を作成しております。
興味があれば、こちらも参照下さい。
Discussion