Récupérer des valeurs sur le web
Modérateur : Francois
Récupérer des valeurs sur le web
Bonjour à tous,
Débutant sur raspberry, je cherche à savoir comment récupérer des informations sur des sites internets et les stocker sur le raspberry. En effet, j'ai pour objectif la conception d'un mirroir connecté à l'aide de python et nano sous putty. Je voudrais récupérer des informations provenant d'internet et pouvoir stocker les valeurs de température, de pression, de vitesse du vent, le temps extérieur, l'heure etc... afin de pouvoir les retransmettre sur un écran. Malheureusement, mes compétences en informatique sont faibles mais je souhaite vivement m'améliorer.
Merci beaucoup pour vos réponses.
Débutant sur raspberry, je cherche à savoir comment récupérer des informations sur des sites internets et les stocker sur le raspberry. En effet, j'ai pour objectif la conception d'un mirroir connecté à l'aide de python et nano sous putty. Je voudrais récupérer des informations provenant d'internet et pouvoir stocker les valeurs de température, de pression, de vitesse du vent, le temps extérieur, l'heure etc... afin de pouvoir les retransmettre sur un écran. Malheureusement, mes compétences en informatique sont faibles mais je souhaite vivement m'améliorer.
Merci beaucoup pour vos réponses.
-
- Messages : 58
- Enregistré le : sam. 25 nov. 2017 20:40
Re: Récupérer des valeurs sur le web
Ils faut que tu révises les lignes de commande en bash :
https://gist.github.com/LeCoupa/122b12050f5fb267e75f
Ce que tu peux faire par exemple, c'est ouvrir une page web ( avec lynx par exemple ), et reconduire la sortie vers un fichier texte.
Dans un second temps, tu ouvres ce fichier texte, et tu travailles sur son contenu pour sélectionner uniquement les infos dont tu as besoin, pour les afficher sur ton miroir.
Un petit exemple :
J’espère défricher un peu tes recherches. Bon courage, n’hésite pas a continuer le sujet.
https://gist.github.com/LeCoupa/122b12050f5fb267e75f
Ce que tu peux faire par exemple, c'est ouvrir une page web ( avec lynx par exemple ), et reconduire la sortie vers un fichier texte.
Dans un second temps, tu ouvres ce fichier texte, et tu travailles sur son contenu pour sélectionner uniquement les infos dont tu as besoin, pour les afficher sur ton miroir.
Un petit exemple :
Code : Tout sélectionner
lynx meteo.fr > fichier.txt ### ici j'enregistre la page d'accueil de meteo.fr dans fichier.txt.
cat fichier.txt | grep temperature ### Ici j'affiche dans le terminal les lignes qui contiennent le mot temperature dans le fichier.txt
cat fichier.txt | grep temperature > temp.txt ### ici j'enregistre cette ligne dans un fichier temp.txt
Re: Récupérer des valeurs sur le web
Merci beaucoup, je vais essayer dès ce soir. Je suis surpris, cela parais très simple tel que tu l'as écrit. C'est super !
-
- Messages : 58
- Enregistré le : sam. 25 nov. 2017 20:40
Re: Récupérer des valeurs sur le web
Attention par contre, l'outil grep sélectionne une ligne entière. Si tu veux récupérer qu'une partie, il y a d'autres utilitaires plus complexes comme sed ou awk, et la il faudra un peu faire bouger tes neurones au besoin...
Le code mis en exemple reste très peu optimisé, si tu partage ton code, on pourra certainement l’améliorer ensemble.
Rien ne sert de parcourir tout le fichier, tu peux très bien faire une commande du type :
Ici, je redirige la sortie de lynx directement dans la commande sed, de manière a ne pas avoir trop de lectures/écritures d'un même fichier, ce qui optimise très largement les exemples plus haut...
Bon courage pour tes tests.
Le code mis en exemple reste très peu optimisé, si tu partage ton code, on pourra certainement l’améliorer ensemble.
Rien ne sert de parcourir tout le fichier, tu peux très bien faire une commande du type :
Code : Tout sélectionner
lynx lesitequetuveux > sed '/cequetuveuxrecuperer/'
Bon courage pour tes tests.
-
- Administrateur
- Messages : 3234
- Enregistré le : mer. 17 sept. 2014 18:12
- Localisation : Seine et Marne
Re: Récupérer des valeurs sur le web
Bonjour,
en cherchant sur un moteur de recherche "api meteo" tu trouveras directement des requêtes HTTP qui retourneront des données météo d'un lieu choisi sous forme tableau ou Json.
Souvent ces services demandent un enregistrement afin d'obtenir une clé API, mais ça marche relativement bien.
Tu peux même trouver des API qui retourneront directement une page à mettre dans un "iframe" avec les infos du jour ainsi que les prévisions.
Exemple pour la météo de Paris
Le lien URL de la page est fixe, mais les infos se mettent à jour automatiquement.
en cherchant sur un moteur de recherche "api meteo" tu trouveras directement des requêtes HTTP qui retourneront des données météo d'un lieu choisi sous forme tableau ou Json.
Souvent ces services demandent un enregistrement afin d'obtenir une clé API, mais ça marche relativement bien.
Tu peux même trouver des API qui retourneront directement une page à mettre dans un "iframe" avec les infos du jour ainsi que les prévisions.
Exemple pour la météo de Paris
Le lien URL de la page est fixe, mais les infos se mettent à jour automatiquement.
Passionné de Raspberry, Arduino, ESP8266, ESP32, et objets connectés :
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
Re: Récupérer des valeurs sur le web
Bonjour,
Personnellement j'utilise l'API de OpenWeatherMap. https://openweathermap.org/api
C'est assez bien documenté sur le site, mais c'est an anglais. Et il faut un peu coder pour extraire les données.
pour info, une fois ton APIKEY générée tu peux passer ce genre de commande
A+
Personnellement j'utilise l'API de OpenWeatherMap. https://openweathermap.org/api
C'est assez bien documenté sur le site, mais c'est an anglais. Et il faut un peu coder pour extraire les données.
pour info, une fois ton APIKEY générée tu peux passer ce genre de commande
Code : Tout sélectionner
curl http://api.openweathermap.org/data/2.5/forecast?id=524901&APPID={APIKEY}
A+
Re: Récupérer des valeurs sur le web
Merci beaucoup pour toutes vos réponses, je me penche sur le sujet dès ce week end.
Re: Récupérer des valeurs sur le web
Bonjour,
Tu as plus 'simple' que lynx : wget ....
Ensuite tu regex
Nexen
Tu as plus 'simple' que lynx : wget ....
Ensuite tu regex
Nexen