Votre question

PHP, récupérer des données d'une page web

Tags :
  • Script
  • Programmation
Dernière réponse : dans Programmation
14 Février 2006 12:08:44

Bonjour,
Je suis décidemment trop novice ...

Je doit récupérer des données sur cette page pour ensuite les insérer dans un tableau:
http://xwis.net/xcl/?lid=1&pname=euroduck1
(cette page n'est qu'un exemple car une boucle va chercher de nombreuses pages)

voici la source de cett page :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <script type="text/javascript" src="xcl.js"></script>
  3. <script type="text/javascript">page_top(0);
  4. page_search(1);t0(new Array(130,1,30932,'euroduck1',23,5,624,624,1139774968,1,0), 0);page_bottom(1139902712);</script>

les données qui m'interessent sont dans ce cas : "130" (4e ligne juste apres "array(" ) et "624" (le premier, 6 virgules plus loin).

Je n'arrive pas à trouver le code qui me donnera uniquement ces valeurs

Autres pages sur : php recuperer donnees page web

14 Février 2006 15:48:26

  1. <?php
  2. $page file_get_contents(urlencode('http://xwis.net/xcl/?lid=1&pname=euroduck1'));
  3.  
  4. $matches = array();
  5. preg_match('`new Array\(([^\)])\)`iU', $page, $matches);
  6. $nombres = explode(',', $matches[1]);
  7.  
  8. $premier = intval($nombres[0]);
  9. $deuxieme = intval($nombres[6]);
  10. echo "$premier, $deuxieme";
  11. ?>


J'ai pas testé, mais ca devrait marcher.
15 Février 2006 18:05:57

Non malheureusement, ça n'a pas l'aire de fonctionner. Voici le message d'erreur :

  1. Warning: file_get_contents(): Unable to access http%3A%2F%2Fxwis.net%2Fxcl%2F%3Flid%3D1%26pname%3Deuroduck1 in /home/nathalie/domains/nathalie.wistee-heb.fr/public_html/test4/points2.php on line 3
  2.  
  3. Warning: file_get_contents(http%3A%2F%2Fxwis.net%2Fxcl%2F%3Flid%3D1%26pname%3Deuroduck1): failed to open stream: No such file or directory in /home/nathalie/domains/nathalie.wistee-heb.fr/public_html/test4/points2.php on line 3
  4. 0, 0


A quoi sert "urlencode" ?
Si je le supprime, je n'ai plus de message d'erreur mais je n'ai que "0, 0" comme réponse.
15 Février 2006 22:59:45

vire le urlencode, et met print_r($nombres) après le $nombre = explode...

Ca sort quoi ?
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS