Outils pour utilisateurs

Outils du site


4.7_web_parsing_tarif_du_lendemain

4.7 Web Parsing (Tarif du lendemain



Une fonction de parsing sur site web est disponible, par exemple pour récupérer le tarif du lendemain disponible sur le site web de EDF.

http://bleuciel.edf.com/abonnement-et-contrat/les-prix/les-prix-de-l-electricite/option-tempo/la-couleur-du-jour-2585.html&coe_i_id=2585

http://ejp.es-energies.fr

Cette fonction nécessite une syntaxe et un ordre de la syntaxe bien précis. Elle a l'avantage de pouvoir être modifiée très facilement en fonction de l'évolution du contenu du site web en cas de mise à jour.

Il faut donc créer un capteur virtuel et mettre en guise de formule la série suivante :

webparse

webpage=http://particuliers.edf.com/abonnement-et-contrat/les-prix/les-prix-de-l-electricite/option-tempo/la-couleur-du-jour-2585.html&coe_i_id=2585

search=<h4>Demain

search=<span class=“hours right”>22h</span>

search=<span class=“period”>

end=</span>

filter=Jour non EJP;Jour EJP

Blanc=1

Bleu=2

Rouge=3

Non Déterminé=-1



webparse est un mot clé qui permet à LogisDom de savoir qu'il devra faire du web parsing avec cette formule.

webpage= doit précéder l'adresse du site web à analyser.

search= identifie la chaine de caractère qui identifie le début du texte à trouver dans le site web, il peut y avoir plusieurs occurrences successives pour outrepasser les doublons possible

end= identifie la chaine de caractère qui délimite la fin du texte à trouver dans le site web, une seule occurrence possible.

filter= est facultatif, certains site web modifient leur structure html en fonction de leur contenu ce qui rends le resultat du parsing inutilisable car il garde des inclusions de code html.

filter= permet de définir une liste de résultat attendus, par exemple le tarif du lendemain est Jour non EFP ou Jour EJP, on defini filter=Jour non EJP;Jour non EJP , le séparateur est le point virgule

LogisDom compare le résultat à la liste fournie, si un élément de la liste est contenu dans le résultat (qui pourrait contenir encore des morceau de code html) seul l'élément de la liste correspondant sera pris comme résultat. Si aucun élément de la liste ne correspond, le résultat original sera pris en compte.


Imaginons par exemple une site web qui nous donne la météo sous forme de texte avec la phrase suivante :

aujourd'hui le temps est : Beau, et demain il est : Pluvieux, blablablabla

le site est mise à jour avec les combinaison suivantes pour le temps : Beau, Pluvieux, Ensoleillé, Orageux, Nuageux.

On pourrait alors avoir aujourd'hui le temps est : Ensoleillé, et demain il est : Nuageux, blablablabla

Pour récupérer le temps d’aujourd’hui, il faut donc définir les délimiteur comme cela :

search=temps est :

end=, et demain

Le résultat du parsing sera tout le texte contenu entre ces deux délimiteurs, donc Ensoleillé dans l'exemple choisi.

Pour récupérer le temps de demain, il faut donc définir les délimiteur comme cela :

search=demain il est :

end=, blablablabla


Pour finir la séquence de parsing, il faut définir une simple liste de valeurs numériques correspondantes aux textes possibles, chaque valeur doit être séparée de sa correspondance par le signe =

Beau=1

Pluvieux=3

Ensoleillé=8

Orageux=4

Nuageux=0

Si vous souhaitez avoir une valeur sous forme texte, il faudra faire la correspondance inverse dans la liste des valeur texte disponible dans la palette.

Dans cette formule de webpasre, ATTENTION à bien respecter l'ordre suivant,

  1. webparse
  2. webpage=
  3. search=
  4. search=
  5. search=
  6. end=
  7. filter=
  8. Liste correspondance Texte=Valeur

Vous pouvez mettre autant de search= que vous voulez. LogisDom va successivement les exécuter l'un après l'autre, il faut que le dernier pointe vers le début du texte à extraire

4.7_web_parsing_tarif_du_lendemain.txt · Dernière modification: 2019/02/16 19:29 (modification externe)