récupérer les données d'une page web

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : récupérer les données d'une page web

par Euroxpet » 09 mars 2006, 11:40

Voilà, c'est fait,

et comme je suis un peu neuneu, j'aurai souvent des questions ... :mrgreen:

par Spols » 07 mars 2006, 18:22

de rien du tout, il reste juste à demander au plus gentil des modérateur de mettre résolu sur ton sujet.

Pense à t'inscrire, tu y gagnera beaucoup

par Invité » 07 mars 2006, 17:55

Ca y est, je m'y suis remis :-)
Ca marche parfaitement.
Merci beaucoup pour ces conseils

par Spols » 17 févr. 2006, 00:59

pour ca il faut afficher seulement a la fin

et créer dans chaque boucle un tableau global

Remplace cela
$tableau = array ($challengeur[2], $challengeur[1], $c[0], $c[6]); 
print_r($tableau);echo "<br>"; 
par
$tableau[$c[6]] = array ($challengeur[2], $challengeur[1], $c[0], $c[6]);
a la fin des boucle
ksort ($tableau);
foreach ($tableau as $sous_tableau)
{
     print_r($sous_tableau);
     echo "<br>";
}
!!! code non tester

je peux me tromper ou alors prendre un chemin trés compliqué peut ètre

PS je te conseille d'utiliser des noms de variable plus explicite que a,b,c,...

par Invité » 15 févr. 2006, 23:40

Question subsidiaire :

Ce programme est en fait inseré dans une boucle qui va chercher les valeurs pour plusieurs joueurs.
Je vais chercher les pseudos dans la base de données pour constituer l'url où chercher les valeurs.
<?php

// connection à la bdd et à la table
mysql_connect("localhost", "", "") or
die("Impossible de se connecter : " . mysql_error());
mysql_select_db("nathalie_test");

// Recherche des challengers sur la bdd
$result = mysql_query("SELECT user_id, pseudo, username FROM nuke_users where pseudo<>\" \"");
while ($challengeur = mysql_fetch_array($result, MYSQL_NUM)) {

// recherche des pages des challengeurs sur xwis
$url1 = "http://xwis.net/xcl/?lid=1&pname=";
$url = $url1. $challengeur[1];

// recherche des points et du rank de chaque challengeur
$a = file_get_contents($url);
$b = explode ("(",$a);//je récupère la partie aprés chaque paranthèse dans un tableau
$c = explode(",",$b[4]);//je divise la ligne qui contient les info à retrouver

$tableau = array ($challengeur[2], $challengeur[1], $c[0], $c[6]);
print_r($tableau);echo "<br>";

}
mysql_free_result($result);// Libère le résultat de la mémoire
?>
Le programme fonctionne comme je le souhaite cependant j'aimerais que les lignes de mon tableau soient dans l'ordre croissant du rang des joueurs (valeur qui est dans $c[6] à chaque boucle.

En plus, est-il possible de lui assigné un rang dans le tableau ?

par Invité » 15 févr. 2006, 19:30

Magnifique !
J'ai en effet modifié quelques parametres mais le code fonctionne à merveille.

Merci beaucoup.

par Spols » 14 févr. 2006, 19:43

C'est une proposition il y a surement mieux mais ..

$a est la variable contenant le code
<?php
$b = explode ("(",$a);//je récupère la partie aprés chaque paranthèse dans un tableau
$c = explode(".",$b[3]);//je divise la ligne qui contient les info à retrouver
$resultat = ": euroduck1 rank = ".$c[0]." : pôints = ".$c[6];
?>
Je ne l'ai pas tester il faut verifier les numèros entre crochet

récupérer les données d'une page web

par Guénaël » 14 févr. 2006, 11:48

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 :

Code : Tout sélectionner

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <script type="text/javascript" src="xcl.js"></script> <script type="text/javascript">page_top(0); 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 :
: euroduck1 : rank = 130 : points = 624 :