logo Homepage
+  NewbieContest
|-+  Programmation» Langages Web» [PHP] parser des pages html
Username:
Password:
Pages: [1]
  Imprimer  
Auteur Fil de discussion: [PHP] parser des pages html  (Lu 4226 fois)
alexlee
Profil challenge

Classement : 615/54284

Néophyte
*
Hors ligne Hors ligne
Messages: 19


Voir le profil
« 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 :


       $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 !**! ^^
Journalisée
BuRner

Profil challenge

Classement : 399/54284

Membre Junior
**
Hors ligne Hors ligne
Messages: 75


Voir le profil
« #1 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
Journalisée
alexlee
Profil challenge

Classement : 615/54284

Néophyte
*
Hors ligne Hors ligne
Messages: 19


Voir le profil
« #2 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.
Journalisée
Nebelmann

Profil challenge

Classement : 462/54284

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1357


Voir le profil
« #3 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
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 ?
Journalisée

-- Nebelmann -- Registered linux user #429186
«Si les lecteurs étaient des compilateurs, les posteurs feraient peut-être davantage attention à ce qu'ils écrivent...»
alexlee
Profil challenge

Classement : 615/54284

Néophyte
*
Hors ligne Hors ligne
Messages: 19


Voir le profil
« #4 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 ?
Journalisée
Gardel

Profil challenge

Classement : 670/54284

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1012


Voir le profil
« #5 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 ?
Journalisée

Selon le postulat que les filles, c'est du temps accordé et de l'argent dépensé : Filles = Temps . Argent
Et comme chacun le sait, "le temps c'est de l'argent", donc : Temps = Argent
Par conséquent : Filles = Argent . Argent
Et parce que, "l'argent est la racine du mal" : Argent = sqrt(Mal)
On en déduit que : Filles = sqrt(Mal).sqrt(Mal)
Force est de constater que : Filles = Mal
alexlee
Profil challenge

Classement : 615/54284

Néophyte
*
Hors ligne Hors ligne
Messages: 19


Voir le profil
« #6 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
Journalisée
zours

Profil challenge

Classement : 553/54284

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 811


Voir le profil
« #7 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
Journalisée
Nebelmann

Profil challenge

Classement : 462/54284

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1357


Voir le profil
« #8 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.
Journalisée

-- Nebelmann -- Registered linux user #429186
«Si les lecteurs étaient des compilateurs, les posteurs feraient peut-être davantage attention à ce qu'ils écrivent...»
Pages: [1]
  Imprimer  
 
Aller à: