Maison >développement back-end >Tutoriel Python >Création d'un vérificateur de disponibilité pour les Steam Decks remis à neuf en Europe
Obtenir un Steam Deck remis à neuf en Europe peut être difficile en raison de la fluctuation des stocks. Ce vérificateur de disponibilité basé sur Python automatise le processus, fournissant des notifications en temps réel lorsque des unités rénovées apparaissent. Cet article détaille la mise en œuvre technique du projet et encourage les contributions de la communauté.
Aperçu du projet
Ce script Python surveille la boutique Steam pour vérifier la disponibilité du Steam Deck remis à neuf en Europe. Tirant parti du service de notification NTFY, il alerte instantanément les utilisateurs lorsque le stock devient disponible. Le projet présente une résolution efficace de problèmes à l'aide de bibliothèques et d'API Python facilement disponibles.
Fonctionnalité
Le script fonctionne comme suit :
Logique de base :
<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>
Exécution
ntfy_url
par votre URL ntfy personnelle (obtenez-en une sur le site Web ntfy). L'application mobile ntfy est recommandée pour les notifications.ntfy.sh
et api.steampowered.com
à vos sites de confiance dans les paramètres d'Internet Explorer.Conclusion
Ce projet met en évidence la puissance des scripts Python concis pour des tâches pratiques. Il constitue une ressource d'apprentissage précieuse pour l'interaction avec les API, les notifications et l'automatisation Python. Le code complet est disponible sur GitHub, accueillant les contributions et la personnalisation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!