Problème avec l'utilisation du Web Parsing

Message
Auteur
Avatar de l’utilisateur
Serge67
Beta-Testeur
Messages : 153
Inscription : mar. janv. 18, 2011 5:38 pm
Localisation : Alsace, 35Km de Strasbourg
Contact :

Problème avec l'utilisation du Web Parsing

#1 Message par Serge67 » dim. nov. 30, 2014 5:58 pm

Bonsoir,

Je cherche désespérément à faire re-fonctionner l'extraction du tarif EJP du lendemain sur le site: http://ejp.es-energies.fr/ . Suite au changement de leur page internet je ne parviens plus à récupérer les données que je souhaite :cry:

Voici un extrait du code source de la page:

<div class="content-box-inner">
<h2 class="active">Découvrez les jours EJP à venir</h2>
<div class="slide">

<div class="inner">



<div id="ejp-status">
<dl class="today">
<dt>
<strong>Aujourd'hui</strong><br />
dimanche 30 novembre 2014
</dt>
<dd class="ejp-no">
Jour non EJP
</dd>
</dl>
<dl class="tomorrow">
<dt>
<strong>Demain</strong><br />
lundi 01 décembre 2014
</dt>
<dd class="ejp-undefined">
Inconnu
</dd>
</dl>
</div>



</div>

</div>
</div>


Je cherche à extraire la valeur de demain, c'est à dire: "Inconnu"

Le problème est que le texte <dd class="ejp-undefined"> change en fonction du type de prévision.

Comment puis-je faire pour récupérer la valeur du jour de demain??

Merci d'avance

Serge

Avatar de l’utilisateur
Remy
Administrateur du site/Developpeur
Messages : 319
Inscription : lun. janv. 17, 2011 6:10 pm
Localisation : 40km est de Lyon
Contact :

Re: Problème avec l'utilisation du Web Parsing

#2 Message par Remy » dim. nov. 30, 2014 10:06 pm

Bonsoir,

après investigation, je pense qu'il y a un petit soucis de code, Serge peux-tu me confirmer que dans le log du calcul tu trouves dans la palette
1 search string defined alors que tu as du définir plusieurs clé de recherche avec search=


par exemple avec une séquence de ce style

webparse
webpage=http://ejp.es-energies.fr
search=<dl class="today">
search=<dd
search=">
end=</dd>


ça devrait marcher mais il y a une erreur dans la reconnaissance des clé de recherche, il s'arrête à 1 ...

Rémy.

Avatar de l’utilisateur
Serge67
Beta-Testeur
Messages : 153
Inscription : mar. janv. 18, 2011 5:38 pm
Localisation : Alsace, 35Km de Strasbourg
Contact :

Re: Problème avec l'utilisation du Web Parsing

#3 Message par Serge67 » lun. déc. 01, 2014 1:52 pm

Rémy,

Effectivement il ne reconnait pas plusieurs "search"

Voici le log du calcul avec ta proposition de webparsing:

1 search string defined
fin définie
2 value defined
Ouvrir page web : http://ejp.es-energies.fr
50549 bytes received without error
Search string<dl class="today"> Search string 0, index = 19166
Résultat :
<dt>
<strong>Aujourd'hui</strong><br />
lundi 01 décembre 2014
</dt>
<dd class="ejp-no">
Jour non EJP

Divide <dt> <strong>Aujourd'hui</strong><br/> lundi01décembre2014 </dt> <ddclass="ejp-no"> JournonEJP
A =
Opérande A manquant
Résultat = -1.000000e+03
Erreur dans la formule
Données variables non valides
Résultat non consistant
No Connected device :
:


Bonne journée

Serge

Avatar de l’utilisateur
Remy
Administrateur du site/Developpeur
Messages : 319
Inscription : lun. janv. 17, 2011 6:10 pm
Localisation : 40km est de Lyon
Contact :

Re: Problème avec l'utilisation du Web Parsing

#4 Message par Remy » mar. déc. 02, 2014 6:26 am

J'ai corrigé le bug, petite erreur de logique dans mon code, tu es sous Windows si mes souvenirs sont bon, j'essairais de t'envoyer une version corrigée avant que je rentre en fin de semaine.

Avatar de l’utilisateur
Serge67
Beta-Testeur
Messages : 153
Inscription : mar. janv. 18, 2011 5:38 pm
Localisation : Alsace, 35Km de Strasbourg
Contact :

Re: Problème avec l'utilisation du Web Parsing

#5 Message par Serge67 » mar. déc. 02, 2014 10:18 am

Oui, tes souvenirs sont bon, je suis sous Windows 7 64bit.
Pour la correction, ce n'est pas urgent.

Merci d'avance

Serge

Avatar de l’utilisateur
Remy
Administrateur du site/Developpeur
Messages : 319
Inscription : lun. janv. 17, 2011 6:10 pm
Localisation : 40km est de Lyon
Contact :

Re: Problème avec l'utilisation du Web Parsing

#6 Message par Remy » sam. déc. 06, 2014 6:12 pm

J'ai mis a dispo la version 1.431 corrigée pour le web parsing, il y a aussi les fonction AND, OR, XOR, LEFT et RIGHT
dans l'immédiat pour windows, les autre vont suivre
http://logisdom.fr/downloads/

pour le web parsing tarif EJP autjourd'hui j'ai mis ça pour vérifier le bon fonctionnement

webparse
webpage=http://ejp.es-energies.fr
search=<dl class="today">
search= </dt>
search=">
end=</dd>

et pour le lendemain

webparse
webpage=http://ejp.es-energies.fr
search=<dl class="tomorrow">
search= </dt>
search=">
end=</dd>


Bon week end,

Remy.

Avatar de l’utilisateur
Serge67
Beta-Testeur
Messages : 153
Inscription : mar. janv. 18, 2011 5:38 pm
Localisation : Alsace, 35Km de Strasbourg
Contact :

Re: Problème avec l'utilisation du Web Parsing

#7 Message par Serge67 » dim. déc. 07, 2014 5:45 pm

Bonsoir,

Merci Rémy pour cette correction qui fonctionne sans problème.
Je vais à nouveau pouvoir allumer mon voyant de préavis ;)

Les fonctions que tu as rajoutées, vont également me servir un jour, je pense.

Bonne soirée

Serge

Avatar de l’utilisateur
Dim
Utilisateur
Messages : 243
Inscription : mar. janv. 18, 2011 5:39 pm
Localisation : 91-Essonne (proche Arpajon)
Contact :

Re: Problème avec l'utilisation du Web Parsing

#8 Message par Dim » dim. déc. 07, 2014 8:29 pm

Salut Rémy,

Version 1.431 Ubuntu12.04-64b installée, et un capteur de température remplacé! reste à faire les autres.

Super, comme toujours!
Merci!!

mibngc
Messages : 41
Inscription : dim. déc. 30, 2012 8:06 pm
Localisation : Meudon et auvergne (63)
Contact :

Re: Problème avec l'utilisation du Web Parsing

#9 Message par mibngc » jeu. déc. 11, 2014 7:47 am

Remy

Merci pour les focntions logiques .... super

cet

Avatar de l’utilisateur
Serge67
Beta-Testeur
Messages : 153
Inscription : mar. janv. 18, 2011 5:38 pm
Localisation : Alsace, 35Km de Strasbourg
Contact :

Re: Problème avec l'utilisation du Web Parsing

#10 Message par Serge67 » mar. janv. 20, 2015 8:50 am

Bonjour Remy,

Premier jour d'EJP depuis la dernière mise a jour et à nouveau un souci avec le Web Parsing :?

En fait, ces pingouins rajoutent une icone devant le texte (<i class="icon-alert"></i>) et du coup, la fonction recherche ne fonctionne plus ou plus exactement je récupère le texte <i class="icon-alert"></i> Jour EJP.

Voici le nouveau code source de la page en EJP:
<div id="ejp-status">
<dl class="today">
<dt>
<strong>Aujourd'hui</strong><br />
mardi 20 janvier 2015
</dt>
<dd class="ejp-yes">
<i class="icon-alert"></i>
Jour EJP
</dd>
</dl>
<dl class="tomorrow">
<dt>
<strong>Demain</strong><br />
mercredi 21 janvier 2015
</dt>
<dd class="ejp-undefined">
Inconnu
</dd>
</dl>
</div>


J'ai essayé d'utiliser le texte complet et de lui attribuer une valeur, mais cela ne fonctionne pas.
Comment puis-je faire pour contourner ce problème?

Pour info, actuellement j'utilise le codage suivant:
webparse
webpage=http://ejp.es-energies.fr
search=<dl class="tomorrow">
search= </dt>
search=">
end=</dd>



Merci d'avance

Serge

Avatar de l’utilisateur
Remy
Administrateur du site/Developpeur
Messages : 319
Inscription : lun. janv. 17, 2011 6:10 pm
Localisation : 40km est de Lyon
Contact :

Re: Problème avec l'utilisation du Web Parsing

#11 Message par Remy » ven. févr. 06, 2015 10:30 pm

Bonsoir Serge,
une solution que je vois serait de fournir en plus de la liste de paramètre qui définit un web parsing, une liste de valeur prédéfinie, donc même si il y a du html qui déborde, on ne prends que ce qu'il y a dans la liste, si aucune correspondant n'est trouvée dans la liste on affiche le résultat tel qu'il a été trouvé.
J'aurais pu le faire depuis quelques jour mais je suis confronté à une difficulté qui n'a rien a voir, je suis passé sous Qt 5.4, faire tourner LogisDom sous Windows ou Ubuntu 14.04 ne pose aucun soucis , par contre pour ceux qui sont sous des version antérieures, l'ajout des librairies Qt5.4 n'est pas évident, alors avant de diffuser une version mise à jour j'essaie de trouver une solution ... encore quelques temps.
Rémy.

Avatar de l’utilisateur
Dim
Utilisateur
Messages : 243
Inscription : mar. janv. 18, 2011 5:39 pm
Localisation : 91-Essonne (proche Arpajon)
Contact :

Re: Problème avec l'utilisation du Web Parsing

#12 Message par Dim » sam. févr. 07, 2015 12:44 am

Salut Rémy,

Pour ma part, c'est la page Tempo que je décode, et je n'ai pas (encore) de souci...
Quant à passer à Ubuntu 14.04, j'ai déjà franchi le pas pour les autres PC, alors pourquoi pas pour celui qui fait la domotique...si je suis le seul à encore avoir besoin de la version 12.04?

A tout hasard, si ça peut dépanner Serge, mon code pour lire le nb de jours rouges restants:

Code : Tout sélectionner

webparse 
webpage=https://particuliers.edf.com/gestion-de-mon-contrat/options-tarifaires/option-tempo/la-couleur-du-jour-2585.html&coe_i_id=2585
search=<ul id="TempoRemainingDays">
search=<span>Rouge</span>
search=<strong>
end=</strong>
Et celui pour lire le préavis Tempo:

Code : Tout sélectionner

webparse 
webpage=https://particuliers.edf.com/gestion-de-mon-contrat/options-tarifaires/option-tempo/la-couleur-du-jour-2585.html&coe_i_id=2585
search=partir de 17h.
search=<span class="hours right">22h</span>
search=<span class="period">
end=</span>
Bleu=1 
Blanc=2 
Rouge=3 
Non Déterminé=0
Dim.

Avatar de l’utilisateur
Serge67
Beta-Testeur
Messages : 153
Inscription : mar. janv. 18, 2011 5:38 pm
Localisation : Alsace, 35Km de Strasbourg
Contact :

Re: Problème avec l'utilisation du Web Parsing

#13 Message par Serge67 » sam. févr. 07, 2015 8:43 am

Salut Remy et Dim,

Effectivement la solution que tu proposes pour le web parsing devrait fonctionner. Mais je pense qu'elle n'est pas encore intégrée dans la version actuelle.

Merci Dim pour ton code, mais sur le site pour l'info EJP (Strasbourg), il rajoute une petite icone devant l'info du jour seulement s'il y a EJP. Du coup la fonction web pharsing me sort le code html: <i class="icon-alert"></i> Jour EJP lorsqu'il y a EJP.

Remy, tu as lâché un petit scoop :o .... une nouvelle version à l'horizon :D :D
Merci d'avance pour tout ce travail.

A+

Serge

Avatar de l’utilisateur
Dim
Utilisateur
Messages : 243
Inscription : mar. janv. 18, 2011 5:39 pm
Localisation : 91-Essonne (proche Arpajon)
Contact :

Re: Problème avec l'utilisation du Web Parsing

#14 Message par Dim » sam. févr. 07, 2015 12:15 pm

Serge,

j'imagine que les Jours EJP de ton fournisseur ne sont forcément en phase avec ceux d'EDF?

Sinon, ne peux-tu pas t'en sortir en attendant avec 2 recherches, une qui colle au format de page en normal, l'autre en EJP, chacune des deux avec une "valeur si erreur". Puis passer par un capteur virtuel pour combiner les 2?

Dim.

Avatar de l’utilisateur
Serge67
Beta-Testeur
Messages : 153
Inscription : mar. janv. 18, 2011 5:38 pm
Localisation : Alsace, 35Km de Strasbourg
Contact :

Re: Problème avec l'utilisation du Web Parsing

#15 Message par Serge67 » lun. févr. 09, 2015 4:50 pm

Salut,

Merci Dim, tu m'as mis sur la piste et maintenant le préavis fonctionne :D .
En fait, il suffisait de ne rien mettre comme paramètre d'équivalence en valeur pour l'EJP et simplement mettre une valeur dans l'onglet erreur. Comme il arrive à lire les jours non EJP, il exécute le webparsing et les jours EJP il exécute la valeur de l'erreur.

Ce qui done comme code:

webparse
webpage=http://ejp.es-energies.fr
search=<dl class="tomorrow">
search= </dt>
search=">
end=</dd>
Jour non EJP=1
Inconnu=2

A+

Serge

Répondre