Version complète: sur le forum Webmaster Hub : Parser une page
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
stever34
Bonjour je viens de découvrir qu'il est possible de parse des pages internet

j'avoue que je suis perdu personne n'aurais un petit coup de pouce a me donner pour récupérer par exemple sur la page suivante :

http://www.quid.fr/communes.html?mode=deta...amp;style=fiche


les info suivantes :

Nom de la commune : Lisle-en-Rigault

Superficie : 1054 hectares

Altitude : 187 mètres

et les enregistrer dans un fichier
idem pour toutes les communes

sachant que je peux avoir la liste des communes (qui est la variable de la regete).
Bourinho
Salut,

Je ne pense pas que le site du Quid appréciera plus de 36.000 requêtes comme ça...

Tu risques de rencontrer quelques soucis...

PS : Si tu continues dans ce sens, utilise preg_match et familiarise toi avec les Regex...
stever34
Le theme parser n'est peut etre pas bon, on tous cas ce que je veux faire c'est enregistrée des info d'un site pour construire une base de donnée.

si quelqu'un a un exemple de methode pour enregistrer des info d'un page avec le script je devrai pouvoir l'adapter a mon cas.
xpatval
A titre d'info, les gens du site en question t'ont-ils donné une autorisation quelconque pour recopier une partie de leur base de données ?

xpatval
stever34
(Nom mais c'est pour avoir un exemple)
ce la peut s'adapter au loto
ou meme a son propre site perso, le but étant de connaitre la méthode du parsing appliqué a un exemple.



Les info intéressantes a récupérer sont :

CODE
<table class="donneesprincipales">
<tr>
               <td><h4>Nom de la commune</h4><strong>Lisle-en-Rigault</strong></td>
               <td><h4>Région</h4><a href="./regions.html?mode=detail&amp;reg=57" title="fiche de la région">Lorraine</a></td>
               <td><h4>Département</h4><a href="./departements.html?mode=detail&amp;dep=55&amp;style=fiche" title="fiche du département">Meuse</a> (55)</td>

               <td><h4>Code postal</h4><a href="./communes.html?mode=query&amp;req=55000&amp;style=fiche&amp;zoom=1" title="toutes les communes ayant ce code postal">55000</a></td>
            </tr>
         </table>




Il faut donc analyser avec un script : parser.php

CODE
<?php
class parser {

var $filename;

function parser($filename) {
  $this->filename=$filename;
}

function get_nom_commune() {
  $file=fopen($this->filename,"r");
    if (!$file) { echo "<p>Impossible d'ouvrir le fichier</p>.\n"; exit; }
  $line=fgets($file,1024);
  while(!strstr($line,"Nom de la commune")) {
   $line=fgets($file,1024);
  }
  fclose($file);
  ereg("<br>(<strong>[alpha]-[alpha]</strong>)</b>",$line,$no);
  return $no[1];
}

}
?>



puis l'afficher page.php

CODE
<?php
require "parser.php";
$parser=new parser("http://www.quid.fr/communes.html?mode=detail&id=21332&req=Lis&style=fiche ");
?>

<html>
<head>
  <title>Nom commune</title>
</head>
<body>
  <center>
   <h1>Le nom est</h1>
   <h2><font color="blue"><?php echo $parser->get_nom_commune(); ?></font></h2>
   <h2>1er exemple</h2>

  </center>
</body>
</html>


Mais ca marche pas SOS
NorSeb
Bonjour,

Qu'est-ce qui ne marche pas ? Si tu veux des réponses, il faut des détails wink.gif
stever34
Sur la page externe a mon site (serveur)

http://www.quid.fr/communes.html?mode=deta...amp;style=fiche

je tente de trouver dans le code source (html) de la page la ligne qui contient le mot clef "Nom de la commune"

CODE
  $line=fgets($file,1024);
  while(!strstr($line,"Nom de la commune"))


en suite je tente de recupérer dans cette ligne les caractères contenus entre les balises <strong>

CODE
ereg("<br>(<strong>[alpha]-[alpha]</strong>)</b>",$line,$no);



pour enfin afficher le nom de la commune grace a la variable $parser (sur mon site)

CODE
echo $parser->get_nom_commune();
Dan
L'obtention de données de cette manière s'apparentant à du plagiat, je ferme ce post car le Hub ne te donnera pas la solution pour ainsi t'accaparer le travail des autres.

C'est manquer de la plus élémentaire des corrections. Tu sembles démarrer bien mal ton aventure de webmaster.

Dan
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.