PRATIQUE PHP 
Récupérer le contenu d'un site tiers
 
En considérant une page Web comme un fichier, on peut en tirer seulement l'information que l'on souhaite. (10/05/2005)
  Forum

Réagissez dans les forums de JDN Développeurs

Il est possible, quoique pas obligatoirement de manière propre ni pérenne, de récupérer quelques lignes d'informations issues d'un site autre. Pour cela, on passe par la même méthode utilisée pour lire un fichier sur le serveur, mais en indiquant à la place une URL complète : le fichier sera la page qui se trouve à cette URL.

L'intégralité du code HTML de cette page est ainsi stockée dans une variable. Le tout est ensuite de pouvoir correctement isoler la section que l'on souhaite récupérer. Pour ce faire, nous utilisons ici une expression rationnelle, où les limites de la chaîne voulue sont indiquées en dur. Idéalement, la chaîne sera déjà isolée dans la structure HTML...

<?php
$page_web = 'http://www.google.fr/';

$debut = 'Nombre de pages Web recensées par Google : ';
$fin = '\.<\/font><\/p><\/center><\/body>';

$page = fopen ($page_web, 'r')
  or die('Impossible d\'ouvrir la page '.$page_web.'.');

$contenu_html = '';
while (!feof ($page)) {
  $contenu_html .= trim(fgets($page, 4096));
  }

preg_match("/$debut(.*)$fin/s", $contenu_html, $valeur);

echo 'Le nombre de pages Web recensées par Google est de '.$valeur[1].'.';
?>
 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page