Aller au contenu

Récuperer données a partir d'une chaine de caracteres URL


Sujets conseillés

Posté

Salutation,

Je veux recuperer le taux de change des devis à partir d'un site de bourse. J'ai pris la page d'impression du site qui comporte les données : exch, value, expr et date.

J'ai trouvé cela dans un forum, mais je ne connais pas la suite:

<?php 
$url = "http://www.site.com/classic?user=printable&exch=EUR&value=1&expr=USD&date_fmt=us&margin_fixed=
&date=02/09/09〈=fr";
$tab_url = parse_url($url);
print_r ( $tab_url["query"]); //va retourner /classic?user=printable&exch=EUR&value=1&expr=USD&date_fmt=us&margin_fixed=
&date=02/09/09〈=fr

//explode() pour couper la chaine obtenu
$tab_query = explode ("&",$tab_url["query"]);
print_r ($tab_query);
//je ne connais pas la suite ... j'ai pas pu la faire
?>

Dans un autre forum: (Cela affiche toute la page du site)

<?php

$url = &quot;http://www.site.com//classic?user=printable&exch=EUR&value=1&expr=USD&date_fmt=us&margin_fixed=

&date=02/09/09〈=fr";

$fp = fopen("$url","r" );

while (!feof($fp)) :

$ligne = fgets($fp, 4096);

echo $ligne;

endwhile ;

fclose($fp);

?>

Pi isoler les paramatères de l'URL: exch, value, expr et date.

preg_match_all("/1 Euro = ([0-9,]+\.?[0-9]*) /", $contenu_page_oanda, $correspondances);

Ma tête bouilleeeeeeee! Avez-vous une idée pour organiser tout cela afin de n'afficher que le change de devis voulu sans pub? Notez que je suis nul en PHP

merci pour vos réponses.

Posté

Salut,

Le problème va venir de ta variable url, du moins je ne vois pas comment tu vas la récupérer dynamiquement, m'enfin y'a sans doute une astuce qq part ...

Sinon pour te faciliter la tâche, pour récupérer les paramètres de l'url et leur valeur : parse_str($str). Cette fonction retournerait le résultat suivant sur ton url :

<?php

$url = "http://www.site.com/classic?user=printable&exch=EUR&value=1&expr=USD&date_fmt=us&margin_fixed=&date=02/09/09〈=fr";

parse_str($url);

// Retourne
$user = 'printable';
$exch = 'EUR';
$valu = 1;
$expr = 'USD',
$date_fmt = us;
$margin_fixed = '';
$date = '02/09/09';
$lang = 'fr';

?>

Bon travail !

Posté

Bonjour,

Je présume que ton taux de change est dans la page du site lui même et pas dans l'URL non ?

Pour le récupérer il va falloir parcourir le contenu de la page située à l'url que tu vas récupérer (la partie fgets dans ton deuxième code, qui serait bien mieux remplacé par file() d'ailleurs) pour y trouver le taux de change.

Donc si tu veux qu'on t'aide, il va falloir nous donner la vraie URL du site, et prier pour que le taux de change soit dans le code Html et pas dans une image par exemple.

--

Cordialement,

Vincent

Posté

Je rappelle pour mémoire que toute création est soumise aux droits d'auteur (une page web en fait partie, son code source également).

Il ne sera pas donné sur ce forum de conseils pour pomper le contenu d'un autre site.

Si ce ne sont que les taux de change que tu cherches à obtenir, il existe à n'en pas douter de nombreux webservices (gratuits et payants) qui te le proposeront de manière parfaitement légale.

Posté

Salut,

Bien entendu, la page d'impression est du Html et non une image, le site est www.oanda.com

Quand on fait une recherche, pi on lance l'impression, on remarque dans l'URL, les variable : exch, value, expr et date

Si on copier/coller l'URL est qu'on supprime ou modifie une variable (par exemple &date=02/06/04) la page se recharge suivant la date demandée.

Idem pour &exch=EUR&value=1&expr=USD au lieu de &exch=USD&value=1&expr=EUR

Voila la page en quéstion: http://www.oanda.com/convert/classic?user=.../09〈=fr

Merci pour votre aide :)

mais non :nonono: captain_torche, je ne cherche pas a ponper, juste a avoir une donnée, le site est plein de pub.

Posté

Ce n'est pas parce que ce n'est qu'une donnée, qu'il ne s'agit pas de pompage.

Il va falloir que tu cherches un flux (gratuit ou payant), mais pas à pomper un site.

Je ferme le sujet.

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...