ホームページ >バックエンド開発 >Python チュートリアル >ヨーロッパでの再生済み蒸気デッキの在庫チェッカーの構築
在庫が変動するため、欧州で整備済スチームデッキを確保するのは困難な場合があります。この Python ベースの在庫状況チェッカーはプロセスを自動化し、整備済みユニットが登場したときにリアルタイムの通知を提供します。 この投稿では、プロジェクトの技術的な実装について詳しく説明し、コミュニティへの貢献を奨励します。
プロジェクト概要
この Python スクリプトは、ヨーロッパでの整備済み Steam デッキの入手可能性を Steam ストアで監視します。 ntfy 通知サービスを利用して、在庫が利用可能になると即座にユーザーに通知します。 このプロジェクトは、すぐに利用できる Python ライブラリと API を使用した効率的な問題解決を紹介します。
機能
スクリプトは次のように動作します:
コアロジック:
<code class="language-python">from urllib.request import urlopen # Configure your ntfy URL ntfy_url = "ntfy.sh/YOUR_NTFY_URL" # Timeout to prevent script hang-ups timeout = 8 def parse_availability(data: bytes) -> bool: parsed = " ".join(f"{c:02X}" for c in data) not_available = "08 00 10 00" return parsed != not_available def is_available(id_: str) -> bool: url = ( "api.steampowered.com/IPhysicalGoodsService/" "CheckInventoryAvailableByPackage/v1?origin=" f"https://store.steampowered.com&input_protobuf_encoded={id_}" ) with urlopen(f"https://{url}", timeout=timeout) as response: data = response.read() return parse_availability(data) def notify(name: str) -> None: message = f"Refurbished {name} Steam Deck is available!" print(message) with urlopen(f"https://{ntfy_url}", data=str.encode(message), timeout=timeout): pass if __name__ == "__main__": # Uncomment for notification testing # notify("TEST") # Refurbished 64GB (European region, tested in Poland) if is_available("COGVNxICUEw="): notify("64GB")</code>
実行
ntfy_url
を個人の ntfy URL に置き換えます (ntfy Web サイトから取得します)。 通知には ntfy モバイル アプリをお勧めします。ntfy.sh
と api.steampowered.com
を追加します。結論
このプロジェクトでは、実践的なタスクに対する簡潔な Python スクリプトの威力を強調します。これは、API インタラクション、通知、Python 自動化に関する貴重な学習リソースとして機能します。 完全なコードは GitHub で入手でき、貢献とカスタマイズを歓迎します。
以上がヨーロッパでの再生済み蒸気デッキの在庫チェッカーの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。