0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🌟Raspberry PiでSNSフォロワーカウンターシステムを作る【番外編②:READMEアップデートと制限対応】

Last updated at Posted at 2025-09-08

📝 はじめに

こんにちは、piyovateです。
前回の【番外編①】では、プロジェクトの構成整理やログ機能の導入といったリファクタリングを行いました。

今回はその続編として、

  • 📄 README.mdの全面見直し
  • 📉 X(旧Twitter)APIの取得頻度変更への対応
  • 📦 requirements.txtの大幅削減

といったドキュメント・環境構築まわりの整備についてご紹介します!


🔗 GitHubでコードを公開中

最新コードやセットアップ手順は以下のリポジトリにて👇
🔗 GitHub - SystermDevelopment/follower-counter


📘 README.mdを再構成!

以前のREADMEは最低限の情報しか含まれていなかったため、今回以下の点を中心に改善を行いました:

  • セットアップ手順をステップバイステップで記載
  • .envsettings.json の役割を明確に説明
  • 各SNSごとのAPIトークン取得手順を追記
  • ChromeDriverインストールや音声通知などの機能説明を追加
  • フルスクリーンUI、前日比、ログ記録などの機能紹介を反映
  • トラブルシューティング、データ更新スケジュールも記載

初心者から中級者まで迷わず導入できる内容に整理しました!


⏱ X(旧Twitter)APIの取得頻度を1日1回に変更

以前はX(旧Twitter)のフォロワー数を毎時30分ごとに取得していましたが、無料プランでは取得頻度に厳しい制限があるため、現在は午前9:30の1日1回更新に変更しました。

# 旧(毎時取得)
schedule.every().hour.at(":30").do(get_x_followers)

# 新(1日1回)
schedule.every().day.at("09:30").do(get_x_followers)

制限を超えると 429 Too Many Requests エラーになるので要注意です。


📦 requirements.txt を310→3個に削減!

以前の requirements.txtpip freeze の全出力を保存していたため、310個のパッケージが記載されていました。
実際に使用しているのは以下の3つだけと判明し、最小構成に整理しました:

python-dotenv==0.21.0    # 環境変数管理
requests==2.28.1         # API通信
selenium==4.15.0         # Qiitaデータ取得

🎉 pygame も以前は音声通知に使っていましたが、現在は使用しておらず除外済みです。


⚠ PyQt5はRaspberry Pi上ではaptでインストール

Raspberry Pi上では pip install PyQt5 がビルドエラーになることがあります。
そのため、PyQt5だけは以下のようにシステムパッケージで導入し、仮想環境では --system-site-packages を使って共有しています:

sudo apt-get install python3-pyqt5
python3 -m venv venv --system-site-packages
source venv/bin/activate
pip install -r requirements.txt

🔧 自動セットアップスクリプトを用意

環境差異を吸収するために、以下の処理を自動化した setup.sh を用意しました:

  • OS判定(Raspberry Pi or 通常PC)
  • PyQt5のインストール(apt or pip)
  • ChromeDriverの導入(Qiita取得用)
  • 仮想環境の作成・有効化
  • .env テンプレートと asset/ ディレクトリの作成
./setup.sh

で初期セットアップが一通り完了します✨


🙏 おわりに

今回は裏方中心のアップデートですが、READMEの整備や依存関係の整理はチーム開発・長期運用ではとても重要です。

「READMEちゃんと書こう…」「pip freezeそのまま載せてたかも…」という方、ぜひ参考にしてみてください😊
いいね・フォロー・ストックもお待ちしています!

それではまた次回の記事でお会いしましょう!


🔗 シリーズリンク

📚 全記事まとめはこちら → シリーズまとめリンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?