NewbieContest

Programmation => Langages Web => Discussion démarrée par: alexlee le 27 Octobre 2006 à 17:55:04



Titre: [PHP] parser des pages html
Posté par: alexlee le 27 Octobre 2006 à 17:55:04
Bonjour a tous, voila j'ai un petit probleme concernant le parsing des pages html avec du php, voici mon script :twisted: :


       $file = fopen($adresse,"r");
         
$page = "";

     while (!feof($file)) { //on parcourt toutes les lignes

     $page .= fgets($file, 4096); // lecture du contenu de la ligne

     }

     
     
 $res=strip_tags($page);

$noms = eregi("blabla(.*)bidule", $res, $result);

 fclose($file);
"    
       }


en fait je recupere le contenu de la page , je le parcours ligne par ligne par ligne et le stocke ds dans $page, jusque la tout va bien puis je veux recuperer la chaine entre"blabla" et "bidule" (c juste un exemple). sur une page statique tout va bien ; mais qu'en est il pour les pages "dynamiques" je veux dire ou la chaine qui minteresse change tout le temps (un timer par exemple) ? la j'ai essayé et je n'obtiens rien du tout.

voila un peu daide ne serait pas de refus, merci **orthographe !**! ^^


Titre: [PHP] parser des pages html
Posté par: BuRner le 27 Octobre 2006 à 18:36:45
C'est en effet plus compliqué.
Si ton timer fait toujours un nombre précis de caractères, alors il te suffit de lire les X caracteres après la chaine qui précède le timer.
Sinon c'est plus compliqué et faut lire jusqu'au prochain string qui suit le timer en question et ensuite tu regarde ce qu'il te reste et tu tente de récupérer la partie qui comporte le timer ;)

Bonne chance


Titre: [PHP] parser des pages html
Posté par: alexlee le 27 Octobre 2006 à 18:42:39
Citation de: BuRner
C'est en effet plus compliqué.
Si ton timer fait toujours un nombre précis de caractères, alors il te suffit de lire les X caracteres après la chaine qui précède le timer.
Sinon c'est plus compliqué et faut lire jusqu'au prochain string qui suit le timer en question et ensuite tu regarde ce qu'il te reste et tu tente de récupérer la partie qui t'intéresse ;)

Bonne chance
euh aurais tu un exemple de code? je ne vois pas ou tu veux en venir... en fait je n'ai aucun probleme pour trouver l'emplacement de la chaine; le probleme c'est qu'il n'apparait tout simplement pas parce que la valeur évolue sans arret elle est ignorée par le php. En revanche si j'enregistre la page chez moi en .htm et que je la parse la valeur apparait bien.


Titre: [PHP] parser des pages html
Posté par: Nebelmann le 28 Octobre 2006 à 09:35:53
Citation
Si ton timer fait toujours un nombre précis de caractères, alors il te suffit de lire les X caracteres après la chaine qui précède le timer.
Le principe d'une regexp est qu'elle permet de rechercher des chaînes de caractères que l'on ne connaît pas à l'avance... ni la taille ni le contenu :lol:
Si tu veux récupérer le contenu généré par php il faut, AMHA, que tu recherches une autre fonction que fopen, je te laisse chercher car je pense que tu écris ce script pour un challenge de prog ?


Titre: [PHP] parser des pages html
Posté par: alexlee le 29 Octobre 2006 à 20:53:45
Citation
Le principe d'une regexp est qu'elle permet de rechercher des chaînes de caractères que l'on ne connaît pas à l'avance... ni la taille ni le contenu icon_lol
Si tu veux récupérer le contenu généré par php il faut, AMHA, que tu recherches une autre fonction que fopen, je te laisse chercher car je pense que tu écris ce script pour un challenge de prog ?
en fait non il ne s'agit pas d'un challenge dailleurs il me semble que sur le chall prog de nc il n'ya qu'une ou deux ligne de texte a parser et rien de dynamique.
tu me suggeres donc de changer de fonction a l'ouverture de la page pour resoudre mon probleme ? :?


Titre: [PHP] parser des pages html
Posté par: Gardel le 31 Octobre 2006 à 01:06:00
Citation
il me semble que sur le chall prog de nc il n'ya qu'une ou deux ligne de texte a parser et rien de dynamique
tu ne les as pas toute vues alors :p prog 9 par exemple ?


Titre: [PHP] parser des pages html
Posté par: alexlee le 31 Octobre 2006 à 17:09:18
Citation
tu ne les as pas toute vues alors :p prog 9 par exemple ?
on ne parle visiblement pas de la meme chose :/

j'ai résolu la prg 9 (il ya un bout de temps deja) et la page a charger la ou figurent les configurations de PC n'a absolument rien de dynamique, puisqu'elle ne comporte que du texte brut; certes la page se modifie aléatoirement a chaque reload mais une fois chargée ca ne bouge plus et on peut parcourir le source

bon maintenant si la page comporte un timer qui affiche par ex l'heure du serveur en temps réel ? la le "texte" change a chaque seconde sans pour autant que la page se recharge sans arret; c'est quelque chose de banal sur un site mais si on veut le parser ca pose un probleme


Titre: [PHP] parser des pages html
Posté par: zours le 31 Octobre 2006 à 17:54:04
Citation de: alexlee
la page a charger la ou figurent les configurations de PC n'a absolument rien de dynamique, puisqu'elle ne comporte que du texte brut; certes la page se modifie aléatoirement a chaque reload mais une fois chargée ca ne bouge plus et on peut parcourir le source
Et c'est justement ce qu'on appelle une page dynamique... Mouarf =D


Titre: [PHP] parser des pages html
Posté par: Nebelmann le 01 Novembre 2006 à 11:12:32
Sachant que le timer change grâce à Javascript (surement), je ne pense pas que tu puisses récupérer ce qui t'intéresse... ou alors tu auras la valeur de départ, chargée en même temps que la page.