Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1376 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Faire un tableau en parsant des chaines issues de pages HTML dynamique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Faire un tableau en parsant des chaines issues de pages HTML dynamique

n°1977627
FLo14
Gouranga !
Posté le 26-03-2010 à 08:23:40  profilanswer
 

Bonjour,

 

Mon cas est le suivant : je souhaite pouvoir récupérer les taux de change EUR/MYR Visa quotidiens sur l'année glissante.
J'utilise le site suivant : http://corporate.visa.com/pd/consu [...] _rates.jsp

 

En sniffant avec Tamper Data j'ai pu capter la séquence POST qui est envoyée au JSP pour traiter ma requête:

 

http://corporate.visa.com/pd/consumer_services/consumer_ex_results.jsp?homCur=EUR&forCur=MYR&fee=0&date=04%2F22%2F2009&rate=0&submit.x=97&submit.y=10&submit=Calculate+Exchange+Rates&firstDate=03%2F27%2F2009&lastDate=03%2F26%2F2010&actualDate=04-22-2009

 

J'aimerais pouvoir invoquer ce script pour pouvoir sortir un tableau de 365 cases, chacun contenant le taux de change du jour considéré.

 

Question, comment faire ?

 

Évidemment, pas de problèmes pour générer la chaîne dynamiquement mais comment récupérer le taux de change en sortie ? Cela signifierai parser le fichier HTML résultant pour chopper la chaîne qui m'intéresse (en l'occurrence 1 MYR = xxx EUR).

 

Est-ce que mon raisonnement est bon ?

 

Merci de vos lumières !


Message édité par FLo14 le 26-03-2010 à 08:24:16

---------------
« Franchement si j'étais toi, je... – T'es moi ? – Nan. – Bon bah tu fermes ta gueule alors. »
mood
Publicité
Posté le 26-03-2010 à 08:23:40  profilanswer
 

n°1977741
ionik
Posté le 26-03-2010 à 12:42:17  profilanswer
 

Je ne suis pas sur que le site auquel tu "sniffe" le contenu soit d'accord ou sinon dans ce cas la, il doive fournir un rss ou autre pour cela


---------------
Recette cookeo Recette de cuisine
n°1977760
FLo14
Gouranga !
Posté le 26-03-2010 à 13:44:33  profilanswer
 

Hum les donnees sont accessibles quoiqu'ils adviennent, ma methode permettrait juste de raccourcir le temps necessaire a la recuperation des taux de change. Rien d'illegal a cela ;)


---------------
« Franchement si j'étais toi, je... – T'es moi ? – Nan. – Bon bah tu fermes ta gueule alors. »
n°1977777
ionik
Posté le 26-03-2010 à 14:37:18  profilanswer
 

Toute utilisation partielle ou complète de données d'un site est soumis a acceptation par le "dit" site.
 
Donc si c'est illégal, lis les CGU


---------------
Recette cookeo Recette de cuisine
n°1977808
bixibu
Ca ... c'est fait!
Posté le 26-03-2010 à 15:44:59  profilanswer
 

Sinon tes ami sont les regexp.. vas falloir trouver les pattern correspondant à ce que tu recherche pour en extraire les données.
 
Au pire tu pourrait t'en sortir en extrayant tout le tableau, en le striptags-ant + explode etc..
 
Bref plein de solutions possibles


---------------
App Android NextGP - Calendrier, Notifications pour 12 sports meca : Playstore - TU
n°1977826
rufo
Pas me confondre avec Lycos!
Posté le 26-03-2010 à 16:13:28  profilanswer
 

Si, ça va générer de la charge sur leur serveur. Si tu le fais 1 fois par jour, pas de pb mais imaginons que tu le fasses toutes les secondes, ça va leur créer des pbs et ça peut être assimilée à une "attaque" (envoi d'un grand nb de requêtes qui font tomber le serveur). Bien sûr, ce n'est pas ton but, mais tu dois inforer le site de ton intention. Pour info, Allociné n'apprécie pas les softs de gestion de vidéothèque qui font ce genre de chose.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1977851
FLo14
Gouranga !
Posté le 26-03-2010 à 17:22:43  profilanswer
 

ionik a écrit :

Toute utilisation partielle ou complète de données d'un site est soumis a acceptation par le "dit" site.

 

Donc si c'est illégal, lis les CGU


Bien, merci de ton intervention mais je n'ai nullement demandé un conseil d'ordre juridique.
Et si tu veux t'amuser à trouver la clause : http://www.corporate.visa.com/util [...] -use.shtml

bixibu a écrit :

Sinon tes ami sont les regexp.. vas falloir trouver les pattern correspondant à ce que tu recherche pour en extraire les données.

 

Au pire tu pourrait t'en sortir en extrayant tout le tableau, en le striptags-ant + explode etc..

 

Bref plein de solutions possibles


Oui je me doutais de ça, mais peut-on tout faire en PHP ?

rufo a écrit :

Si, ça va générer de la charge sur leur serveur. Si tu le fais 1 fois par jour, pas de pb mais imaginons que tu le fasses toutes les secondes, ça va leur créer des pbs et ça peut être assimilée à une "attaque" (envoi d'un grand nb de requêtes qui font tomber le serveur). Bien sûr, ce n'est pas ton but, mais tu dois inforer le site de ton intention. Pour info, Allociné n'apprécie pas les softs de gestion de vidéothèque qui font ce genre de chose.


J'ai pensé à ce problème en effet et je suis conscient que je sors des limites normales d'utilisation du site.


Message édité par FLo14 le 26-03-2010 à 17:28:01

---------------
« Franchement si j'étais toi, je... – T'es moi ? – Nan. – Bon bah tu fermes ta gueule alors. »
n°1977854
bixibu
Ca ... c'est fait!
Posté le 26-03-2010 à 17:24:36  profilanswer
 

Citation :

Oui je me doutais de ça, mais peut-on tout faire en PHP ?


 
Ce que tu veux faire est tout a fait faisable, et ce, de pleins de manières différentes..
 
Faux juste connaitre les bonnes fonctions de manipulation de chaine / regexp.. et pour ca pas de secrets : php.net


---------------
App Android NextGP - Calendrier, Notifications pour 12 sports meca : Playstore - TU
n°1977858
FLo14
Gouranga !
Posté le 26-03-2010 à 17:30:45  profilanswer
 

bixibu a écrit :

Citation :

Oui je me doutais de ça, mais peut-on tout faire en PHP ?


 
Ce que tu veux faire est tout a fait faisable, et ce, de pleins de manières différentes..
 
Faux juste connaitre les bonnes fonctions de manipulation de chaine / regexp.. et pour ca pas de secrets : php.net


Merci de ta réponse :) Je vais me renseigner.


---------------
« Franchement si j'étais toi, je... – T'es moi ? – Nan. – Bon bah tu fermes ta gueule alors. »
n°1977873
sielfried
Posté le 26-03-2010 à 18:19:45  profilanswer
 

http://simplehtmldom.sourceforge.net/
 
La solution la plus classe pour ce genre de choses, beaucoup plus clean que de la regexp.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
mood
Publicité
Posté le 26-03-2010 à 18:19:45  profilanswer
 

n°1977879
stealth35
Posté le 26-03-2010 à 18:41:36  profilanswer
 

pas besoin de lib, DomDocument fait la meme chose

n°1977885
FLo14
Gouranga !
Posté le 26-03-2010 à 19:14:48  profilanswer
 

sielfried a écrit :

http://simplehtmldom.sourceforge.net/
 
La solution la plus classe pour ce genre de choses, beaucoup plus clean que de la regexp.


Thanks ç'a l'air pas mal, je vais tester ça :)

stealth35 a écrit :

pas besoin de lib, DomDocument fait la meme chose


La solution ci-dessus me paraît plus simple non :??:


---------------
« Franchement si j'étais toi, je... – T'es moi ? – Nan. – Bon bah tu fermes ta gueule alors. »
n°1977888
stealth35
Posté le 26-03-2010 à 20:41:15  profilanswer
 

si ca te derrange pas d'utiliser une lib alors oui

n°1977891
bixibu
Ca ... c'est fait!
Posté le 26-03-2010 à 21:38:26  profilanswer
 

sielfried a écrit :

http://simplehtmldom.sourceforge.net/
 
La solution la plus classe pour ce genre de choses, beaucoup plus clean que de la regexp.


 
Sympa cette lib , je connaissais pas, merci  :)  


---------------
App Android NextGP - Calendrier, Notifications pour 12 sports meca : Playstore - TU
n°1978366
sielfried
Posté le 29-03-2010 à 12:53:01  profilanswer
 

stealth35 a écrit :

pas besoin de lib, DomDocument fait la meme chose


 
Sauf que DomDocument chiale (à raison, mais en l'occurrence ça n'aide pas) si le HTML est mal formé, mal déclaré (voire si c'est pas du X(HT)ML, tout simplement).


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1978384
stealth35
Posté le 29-03-2010 à 13:50:05  profilanswer
 

c'est pareil avec la lib, c'est baser sur des regexp, ca sera meme encore pire, meme avec un html mal former ton navigateur arrive a l'ouvrir et rend ce qui peu (souvent bien meme), DomDocument fais la même chose

n°1978408
sielfried
Posté le 29-03-2010 à 14:49:33  profilanswer
 

stealth35 a écrit :

c'est pareil avec la lib, c'est baser sur des regexp, ca sera meme encore pire, meme avec un html mal former ton navigateur arrive a l'ouvrir et rend ce qui peu (souvent bien meme), DomDocument fais la même chose


 
Je connais que SimpleXML en l'occurrence (DOMDocument était super lourd niveau code dans mes souvenirs, mais je confonds peut-être). SimpleXML n'acceptera jamais une page html comme celle que FLo14 cite.
 
Et d'expérience, simple_html_dom est particulièrement efficace même sur les fichiers HTML mal formés (après j'ai pas regardé le code des regexp derrière, je sais juste que ça marche super bien).


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1978414
bixibu
Ca ... c'est fait!
Posté le 29-03-2010 à 14:56:56  profilanswer
 

Citation :


Je connais que SimpleXML en l'occurrence (DOMDocument était super lourd niveau code dans mes souvenirs, mais je confonds peut-être). SimpleXML n'acceptera jamais une page html comme celle que FLo14 cite.


Je confirme, j'ai été confronté au prblème ya pas une semaine.. donc la lib cité me parait prometteuse, je testerais ca dès que j'ai un petit moment.


Message édité par bixibu le 29-03-2010 à 14:57:13

---------------
App Android NextGP - Calendrier, Notifications pour 12 sports meca : Playstore - TU

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Faire un tableau en parsant des chaines issues de pages HTML dynamique

 

Sujets relatifs
(Résolu) Elements invisibles dans le html suite à un includestockage de tableau de structure en mémoire partagée
Comment allouer de la mémoire pour un tableau (malloc)html et php
Carte dynamique ( clip dans clip )VBA: combiner 2 tableaux excel pour avoir un troisième tableau complet
connection pages perso free[Résolu] Création d'une page html pour email, largeur zone texte ?
[Résolu]Création d'une page html pour email, léger soucis avec outlookApparition d'élément de menu déroulant dynamique
Plus de sujets relatifs à : Faire un tableau en parsant des chaines issues de pages HTML dynamique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR