[resolu] extraire un code source d'une page html

Discussion et échanges de scripts pour la box eedomus

[resolu] extraire un code source d'une page html

Messagepar thrymartin » 24 Jan 2022 05:00

Bonjour,
Il semble que Lacrosse ai interdit la récupération via httpquery
je ne sais comment, quoi ou qu'est-ce

par exemple pour
https://measurements.mobile-alerts.eu/H ... 1576390702
je reçois en résultat sur un httpquery une alerte
You do not have permission to view this directory or page.

la page est bien accessible, on peut afficher son code source via un navigateur...
(pas besoin de login/pass il faut juste une ID valide, celle donnée ci dessus est un capteur à Blagnac, de notre ami Luc Trullemans, qui le met en accès public dans sa page web)

après recherche, je vois qu'il y a de quantités de méthodes pour récupérer un code source
mais la box eedomus n'accepte pas toutes les commandes PHP
d'autre part httpquery est rempli de paramètres un poil obscur... peut être qu'il faut en positionner un ?

bref, si un gentil geek pouvait essayer avec l'url donné ci dessus
et au moins nous dire l'origine du blocage ?
en attendant que Lacrosse qui gere cette page nous donne une réponse ...
merci
thrymartin
 
Messages : 920
Inscription : 03 Mars 2019
Localisation : La Réunion

Re: extraire un code source d'une page html

Messagepar rover820i » 24 Jan 2022 09:50

Salut,

Il y a des chances pour que lacrosse ait bloqué les requêtes en provenance des IP eedomus suite à un nombre de requêtes trop élevées.

Malheureusement pas de solution, à part héberger ça sur un serveur local et une mise à jour des valeurs dans eedomus via l'API.
rover820i
 
Messages : 3363
Inscription : 23 Juil 2016

Re: extraire un code source d'une page html

Messagepar puccin0 » 24 Jan 2022 16:07

rover820i a écrit:Salut,

Il y a des chances pour que lacrosse ait bloqué les requêtes en provenance des IP eedomus suite à un nombre de requêtes trop élevées.

Malheureusement pas de solution, à part héberger ça sur un serveur local et une mise à jour des valeurs dans eedomus via l'API.


Salut,

Je n'y connais pas grand chose mais en créant un php sur un server type synology on pourrait y récupérer les valeurs?
tu saurais faire :P :oops: ?
puccin0
 
Messages : 343
Inscription : 19 Mars 2013

Re: extraire un code source d'une page html

Messagepar thrymartin » 25 Jan 2022 08:54

il faut savoir si c'est un blocage pur et dur de l'accès via PHP ou un blacklistage Eedomus (?) bref, savoir s'il ya des moyens détournés de récupérer le code source

via l'API, il doit y avoir moyen de récupérer le tout sans serveur, juste en script
c'est ce que j'ai cru comprendre chez Jeedom
mais je ne m'y suis pas encore penché sérieusement, si Lacrosse répond défavorablement, je m'y penche.

ce que je sais c'est que l'API est maintenant complète sur les capteurs (depuis juillet), mais aucune idée de savoir si elle récupère les historiques
ce qui aurait été fameux, c'est d'accéder comme l'appli smartphone le fait, mais ça n'a peut etre rien à voir.
Aux dernières nouvelles, si en 2017, sur Jeedom, ils ont préféré la page "Mes Capteurs", et j'ai suivi le train, c'est que l'API était limitée en capteurs (plus maintenant donc); mais imité en nombre d'appel.

ce qui est sur c'est que t'as beau mettre un cache, conseiller son emploi, conseiller 30' de frequence de relevé, je suis bien certains que beaucoup n'en font qu'à leur tête et si le serveur n'a pas la capacité d'un geant comme google, il sature ...
a mon avis c'est ce qui s'est passé, parceque l'acces à la page ces dernières semaines n'était pas impossible mais souvent LONG (et parfois hors timing) : je pense qu'il ya eu des plaintes, et qu'ils se sont aperçus que du php eedomus et jeedom submergeaient leur serveur.
Enfin je vois ça comme ça.

AU niveau perso : je n'ai aucune idée de savoir comment renvoyer une page source et la caler sur un serveur, un NAS ... mais si au niveau personnel, certains y arrivent, alors il suffit de changer une seule ligne du script $url = "......" et y mettre l'adresse de la page source récupérée.

Pareil, si quelqu'un nous explique comment faire... (je n'ai pas encore essayé d'extraction de source avec les autres méthodes PHP, il y'en a plusieurs) et si ça fonctionne ?
en attendant que je torture l'API (ça va etre long, je ne sais déja pas ou la trouver mais j'ai vu des didactitiels trainer sur Jeedom) ça ourrait débloquer la situation pour certains.
Parceque la page Mes Capteurs selon l'adresse :
https://measurements.mobile-alerts.eu/H ... phoneid=ID smartphone

fonctionne TRES BIEN
et si dans le navigateur on demande le code source, il apparait tout aussi bien
(on aurait pu avoir pire : ce sont les données appellées en PHP et non lisibles dans la source, ce qui est arrivé à un petit script sur la page Meteo France ou je ne peux plus récupérer la météo succinte du jour) ...
Si j'applique mon script directement à cette source : tout va bien ! ils n'ont rien changé à la page

Donc au moins pour ceux qui ont un synology par exemple, si un petit malin nous explique comment extraire la source et qu'on puisse y faire appel dessus, ce serait las solution la plus rapide de retrouver nos données. A part bien sur la solution ou Lacrosse nous ré-autaurise ...
thrymartin
 
Messages : 920
Inscription : 03 Mars 2019
Localisation : La Réunion

Re: extraire un code source d'une page html

Messagepar thrymartin » 25 Jan 2022 10:16

avec les fonctions curl et file_get_contents, (pour scraper une page) je n'arrive même pas a les émuler; de toute façon, elles ne sont pas comprises par eedomus
un webscaper en ligne, c'est bloqué (message comme quoi la page interdit le scraper)

MAIS en VB, on peut : je suis arrivé à lire les premières lignes de la source à partir de l'URL (donc on peut tout extraire) avec une fonction et une routine : bref, trois fois rien, on peut faire un exe pour balancer la source dans un fichier...

mais ça nécéssite un ordi sous windows qui tourne en permanence, puisque VB c'est pour faire des applis windows ... la, je te mets une minuterie, ça tourne en tache de fond et tous les 1/4 d'heure ça récupère la web, éventuellement pour ... la rebalancer sur le web, apres y a qu'à adapter le script pour l'adresse de récup.

ça ne va pas plaire à tous le monde... à cause de cette exigence d'avoir un ordi windows en marche H24 ... si certains sont tentés, ils répondent ici ?
Quand je pense qu'il y avait un émulateur windows, sous Raspbian (un linus sous raspberry pi) avec les applis VB qui tournaient !!! ces gueux ont arrêté et il n'y a plus moyen de récupérer leur émulateur, (c'était payant, oh par cher, 10€, mais du coup, y avait un code avec autorisation web)
ça vous aurai fait un serveur pour faire tourner cette appli H24 pour 35€
bon ... ils ont arrêté ils ont arrêté, mais si vous trouvez quelque chose de semblable, ne le gardez pas pour vous. PS : il y aurait en ligne une version W10 ARM qu'on pourrait installer sur un RPI (?)

Sinon, la seule solution pour y arriver sans ordi, ce serait en PHP, mais c'est justement la que c'est coincé, à moins qu'on ne trouve la solution miracle ?
Par contre via un NAS, il doit y avoir moyen (en python ?) mais la, j'avoue que je suis largué, je n'y plongerai même pas le petit doigt.
thrymartin
 
Messages : 920
Inscription : 03 Mars 2019
Localisation : La Réunion

Re: extraire un code source d'une page html

Messagepar thrymartin » 26 Jan 2022 04:59

ya des fois je me demande si je ne devrais pas basculer sur Jeedom

Bon, toujours pas de réponse de Lacrosse.

En plus de passer par l'API (je n'ai pas encore jeté un oeil, juste vu une discussion à ce propos avec du code), J'ai des réponses de la communauté Jeedom pour la récupération de la source :
Il y aurai donc une solution pour le plugin. Si elle fonctionne ... (j'essayerai ce soir)
Pas de fausse joie : ils utilisent une commande php, nous httpquery, mais le paramètre semble accessible... réponse ce soir ou ce WE au plus tard.
PS : c'est la même qu'avec le petit programme en VB6, avec lui ça marche.

clarinette va être content, ils en sont à travailler sur l'interception directe des capteurs, mais il semble y avoir des difficultés, par contre, on me conseille d'arrêter avec le PHP (pour la récup) et d'intercepter... la passerelle, et la il semblerait qu'ils aient trouvé : il ya plusieurs étages
- les capteurs en 868
- la passerelle (elle cause via la box, donc ça s'intercepte apparemment)
- le cloud Mobile Alerts apparemment géré par Lacrosse dont l'accès se fait
- indirectement par la web mise à disposition
- une API pour l'interroger

Il doit même y avoir des droits étendus sur une API proprio pour ramener tout ça sur les applis smartphone, puisque tous les capteurs ne sont accessible sur l'API publique que depuis peu.

Bref, je teste leur solution pour corriger le plugin
mais entendons nous bien : je sais qu'on ne maîtrisera jamais ceux qui veulent quasi de l’instantané et qui zappent le cache : interroger X capteurs toutes les minutes, si on en a 25 (ça va vite, un thermo-hygro metre, c'est 2, une centrale temp/hygro de base avec 4 sondes, c'est 8) en 30 minutes, ça fait 750 appels contre un seul !
Si on veut rester discret au cas ou ils ne veulent pas de "scraping" (extraction de page), il faudra respecter ces règles, donc je vais essayer de rendre ces paramètres incontournables dans le plugin avant correctif : cache obligatoire et 30' en frequence de renouvellement de cache, je supprimerai les paramètres à ce niveau.
Chez Jeedom, ils s'attendent à se refaire re-coincer malgré leur correctif... ce pour ils travaillent sur l'interception en direct et beaucoup interceptent la passerelle.
Sont couillons chez Lacrosse ! au lieu de se rejouir d'avoir des programmeurs gratuits, et de faire de la pub du genre "compatible avec Jeedom, Eedomus...", mais naaaaannn ils bloquent ???? incompréhensible, mais si les décisions commerciales (de toutes origines) suicidaires étaient compréhensibles ça se saurait, les exemples ne manquent pas.

Bon, même sans réponse de Lacrosse, ya pas que de mauvaises nouvelles et ne jettez pas vos capteurs tout de suite.
thrymartin
 
Messages : 920
Inscription : 03 Mars 2019
Localisation : La Réunion

Re: extraire un code source d'une page html

Messagepar clarinette49 » 26 Jan 2022 15:38

:D :D
Hé oui je suis content, pour moi c'est la solution mais hélas hors de mes compétences.
clarinette49
 
Messages : 748
Inscription : 21 Mai 2019
Localisation : Angers

Re: extraire un code source d'une page html

Messagepar thrymartin » 26 Jan 2022 17:15

ça devrait se "pluginer"

Bon, le truc surement provisoire (?) de Jeedom fonctionne, j'ai à nouveau mes valeurs
Ceux qui savent aller sur l'interface en locale 192.168.x.x puis aller sur la page des script (menu), puis se sentent à éditer ledit script (3 lignes à remplacer, plus une variable à déclarer)
m'envoient un MP et me confirment qu'ils utilisent le cache et que la frequence de mise à jour du cache VAR2 est à 30 (30 minutes) minimum

Pour les autres, ceux qui ne se sentent pas à mettre les mains dans le cambouis, attendez la mise à jour du plugin, mais comme je vais invalider l'option de réglage de la durée du cache pour la fixer à 30' et faire en sorte qu'on ne puisse pas utiliser le plugin sans ledit cache, plus refaire les fichiers d'aide qui va avec, ça va prendre un peu de temps.

Je demande à TOUS de respecter l'existence du cache et cette valeur de 30'
dites adieu pour l'instant à la mise à jour à 10' (les mises à jour Mobile Alerts sont à 7' ... activation des capteurs, ça économise d'ailleurs les piles qui durent largement 2 ans ou plus) sauf les capteurs de contact (ils sont en direct mais leur 2 R44 sont à changer à moins d'un an) pour lesquels il ya les valeurs d'historique.
thrymartin
 
Messages : 920
Inscription : 03 Mars 2019
Localisation : La Réunion

Re: extraire un code source d'une page html

Messagepar KikiFUNstyle » 26 Jan 2022 17:30

Je n'ai pas regardé le code du plugin mais à la fin il lit des valeurs sur un site web ?
ZWave / RFXCom / broadlink RM /Google Mini / Yeelight / Xiaomi Vacuum V1 / Shelly <3 / Node-RED <3 <3
[Store] Shelly
KikiFUNstyle
 
Messages : 908
Inscription : 24 Avr 2014
Localisation : Toulouse

Re: extraire un code source d'une page html

Messagepar thrymartin » 26 Jan 2022 18:57

oui, et en attendant de passer outre (via API puis ensuite via Raspberry Pi en direct) je demande de la modération dans l'utilisation du plugin
même "pour voir"
ils doivent être survoltés chez Lacrosse pour une raison que je ne comprend pas : cette page n'avait aucun COUAC depuis 2 ans, puis sont réapparues des difficultés d'accès de temps à autre, comme ya encore 1/4 d'heure et ça a duré 3 minutes, évidemment ils vont mettre ça sur le compte des vilains geeks de la domotique alors qu'on est en tout et pour tout peut être 150 au pire à utiliser des scripts pour relever nos données entre jeedom et eedomus
j'ai trouvé un correctif, maintenant, combien de temps ça va tenir ?
donc je repete : ceux qui ne veulent pas attendre, me contactent en MP
les autres prennent patience

valavala
thrymartin
 
Messages : 920
Inscription : 03 Mars 2019
Localisation : La Réunion

Re: extraire un code source d'une page html

Messagepar ARTNOW » 26 Jan 2022 22:39

Salut thrymartin , merci pur ton implication pour LACROSS , j'ai moi même des capteurs qui ne réagissent plus depuis plusieurs jour , pour simplifier la lecture du forum pourrais tu stp faire un post unique du style LACROSS BUG pour que la lecture soit plus évidente , sans te commander bien sur .....c'est juste pour que cela soit plus facile à suivre Merci ;) et bravo pour ton travail :P
EEDOMUS + -RFP1000-IPX 800 V4-IPX 800 V5 - FIBARO -GOOGLE(Home-Nest & mini)
ARDUINO-RASPBERRY PRUSA MK3S
Domotisation de :1xPiscine/9xClimatisations réversibles/2xVolets somfy/1xAlarme/1xChauffe-Eau thermodynamique/3xPortes Garage et 1xportail
ARTNOW
 
Messages : 1280
Inscription : 22 Avr 2018
Localisation : LOIRE ATLANTIQUE

Re: extraire un code source d'une page html

Messagepar thrymartin » 27 Jan 2022 03:54

y'en a déjà un :
viewtopic.php?f=61&t=11037
je mets un message de redirection dans les autres.

Pour le sujet de cette enfilade, je mets "resolu"
une page se "scrape" (extraction du code source), pour eedomus via httpquery qui possède des paramètres, sinon en PHP avec curl ou file_get_contents, directement en programmation, bref, il ya quantité de moyens, et un auteur peut bloquer la consultation en fonction des sources (PHP, Navigateur...) quand elles sont explicites
ou il peut carrément supprimer sa page.
Ce qui clôt ma question : je ne pense pas qu'il y ai de zones d'ombre pour ceux qui se posaient la même.
thrymartin
 
Messages : 920
Inscription : 03 Mars 2019
Localisation : La Réunion


Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 12 invité(s)