Prb de parsing HTML avec le plugin script

Bonjour tous,

J’aime bien le plugin météo France, mais il ne récupère pas les infos les plus à jour dispo sur le site Web.
Je voudrais simplement récupérer la température actuelle sur, par exemple :
METEO LYON par Météo-France
La température est dans la div suivante <div class="weather_temperature"><strong class="temp">16°</strong> <!----></div>
J’ai bien regardé la doc Documentation Jeedom
J’ai essayé comme la doc un div.weather_temperature et meme un div.weather_temperature strong, mais ca ne me remonte aucune valeur.
J’ai aussi joué avec ‹ inspector › ds chrome/edge et j’ai tout essayé … le Selector, le XPath, le JS Path, etc et à chaque fois ca ne remonte rien non plus :slight_smile:

Je cherche donc la commande de parsing qui marcherait pour mon cas de figure, car ni l’exemple donné en doc, ni les chemins identifiés par inspector ne fonctionnent.

Merci d’avance !

Bonjour,

.weather_temperature .temp avec l’espace devrait être bon. Je n’ai pas testé…

À+
Michel

Bonjour et merci pour la proposition
Mais ca ne remonte toujours aucune valeur.
(idem en enlevant le .temp juste pour voir)
:sob:

Bonjour

J’avais voulu récupéré une valeur sur une page web en utilisant le html. Un membre m’a conseillé de passer par un script bash et cela à fonctionné. Il faut biensur adapter le script.

Je ne suis pas certain que ça fonctionnera dans cet exemple.

MeteoFrance injecte visiblement ces données via javascript mais curl ne sait pas lire le javascript, il ne lit que le html « brut ».

Quand on fait un :

curl -s https://meteofrance.com/previsions-meteo-france/lyon/69000 | grep -i "weather_temperature"

on ne trouve strictement rien, preuve que le plugin script ne pourra pas la parser

2 « J'aime »

Merci, bien vu.
Je suis arrivé au meme résultat et en effet j’ai du partir sur un script python en installant chromium, etc. Truc un peu lourd, du coup j’ai installé ca sur mon jeedom « de test », et je pousse cette valeur sur mon jeedom « de prod ».
J’aimerais bien trouver un site qui propose cela simplement, mais je n’ai pas trouvé. Soit c’est assez cher, soit ca fait pas le job. Si à tout hasard qq’un connait qq chose dans cette voie là ?

Oui effectivement c’est un peu violent …

D’après Copilot, il y a plusieurs outils qui savent faire ça mais j’ai jamais eu l’occasion de mettre en oeuvre.

Voici des alternatives plus puissantes :

  • puppeteer (Node.js) ou playwright : permettent de charger la page comme un vrai navigateur et d’extraire le contenu.
  • selenium (Python) : très utilisé pour ce genre de scraping dynamique.

Mais tu peux préciser pourquoi tu veux faire ça en fait ? Tu as besoin d’avoir des infos aussi « fraiches » que ça ?

Alors le truc un peu lourd, c’est justement playwright (et en effet merci copilot pour avoir fait tomber le truc en marche :slight_smile:)
Sur le pourquoi ? J’ai remarqué que j’avais souvent un décalage entre les infos remontées par le plugin météo France (basé sur les API ouvertes de Meteo F), et la température que m’indique le site web qd je m’y rends « manuellement » et par rapport à ce que je pouvais mesurer avec des capteurs, je trouvais que c’était la valeur « site web » la plus proche. Mainteant que j’ai les 2 remontées dans un beau virtuel Jeedom, je vais pouvoir facilement comparer sur la durée.

Et aussi j’ai trouvé un site qui permet d’arriver au meme résultat, avec un plan gratuit (à voir si ca suffit) : apify.com

PS : super profile pic :slight_smile:

Je suis pas sur qu’elles soient super ouvertes officiellement :sweat_smile:
Si je ne dis pas de bêtise, ce sont les API utilisées pour afficher la météo sur le site web mais je ne crois pas qu’elles soient officiellement documentées, plus utilisées par retro ingénierie.

Ben la j’aurais tendance à dire que c’est la même, est ce que c’est pas plutot la fréquence de rafraichissement du plugin meteo france qui ne te convient pas ?

Tiens nous au courant, ça m’interesse :wink:

Bon à savoir merci pour l’info :slight_smile:

it-crowd-thank-you