Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1541 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Récupérer des données d'une page HTML générée par un autre domaine

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer des données d'une page HTML générée par un autre domaine

n°565922
xkamui
Their Destiny Was Foreordained
Posté le 13-11-2003 à 15:54:15  profilanswer
 

Voilà ce que je veux faire :  
 
sur un site se trouve les informations voulues, la page est du type http://www.site.com/selection.php?saisie=texte et dedans, les données s'affichent dans un tableau et tout et tout...
 
bon, moi, je veux les 5 cellules qui se trouvetn au millieu de cette page html et les mettre dans des variables pour afficher ces informations sur mon site internet.
 
es-ce possible ??
pouvez vous me mettre sur la voie ??
 
merci @ ceux qui participeront...

mood
Publicité
Posté le 13-11-2003 à 15:54:15  profilanswer
 

n°566069
youdontcar​e
Posté le 13-11-2003 à 19:24:51  profilanswer
 

Récupère la page avec qq chose comme www.php.net/fsockopen , puis parse-là "à la pogne" : à coups de strstr, explode, etc.
 
Par ex si ta page html ressemble à  
 
<p>Voici le tableau à récuperer</p>
<table>
 <tr>
   <td>valeur 1</td>
   <td>valeur 2</td>
 </tr>
</table>
 
un $tab = explode('<td>', $page) te donnera "valeur2</td>" dans $tab[2].

n°566075
metos
҉ OOoo hi-lo powered
Posté le 13-11-2003 à 19:33:22  profilanswer
 

si ca peut t'aider j avais posté ca dans un autre topic
 

metos a écrit :

je me suis amusé (et j ai apris en meme temps c est beau la vie)
j ai fais un script qui recupere la page de prevision meteo de meteoconsult.
 
!! a utiliser avec moderation !!
 

Code :
  1. // fonction permettant d affichier
  2. // les prevision meteo sur 1 a 5 jours
  3. // avec pompage chez meteoconsult  
  4. //
  5. // appel de la fontionn : disp_meteo(x)
  6. // avec x : nmbre de jours de prevision
  7. // x est compris entre 1 et 5  
  8. //
  9. function disp_meteo($nb_prev)
  10.  {
  11.  if(($nb_prev < 1) OR ($nb_prev > 5))
  12.     {
  13.  $nb_prev = 1;
  14.  echo "le nombre de prevision est invalide, il est reajusté a une seule prevision<br><\n";
  15.  }
  16.  if(!isset($nb_prev))
  17.   {
  18.  $nb_prev = 1;
  19.  echo "le nombre de prevision n est pas fourni, il est reajusté a une seule prevision<br><\n";
  20.  }
  21.  $prev = Null;
  22.  $a=1;
  23.  if($fp=fopen("http://www.meteoconsult.fr/carte/frag/prevision/selection.php?langue=fr&num_ville=3903", "r" ))
  24.        {
  25.       while(!feof($fp))
  26.             {
  27.         if(!isset($a))
  28.            {
  29.         $a=1;
  30.         }
  31.  
  32.        $start_prev=fgets($fp,4096);
  33.         if(eregi("class=apercu-date>",$start_prev)&&$a<=$nb_prev)
  34.               {
  35.         $prev[$a] = null;
  36.            $prev[$a] .= $start_prev;
  37.            }
  38.    
  39.         if(eregi("<img src=http://www.meteoconsult.fr/image/logo/lwgnpj/",$start_prev)&&$a<=$nb_prev)
  40.             {
  41.            $prev[$a] .=$start_prev;
  42.            }
  43.         if(eregi("class=apercu-temps-new>",$start_prev)&&$a<=$nb_prev)
  44.            {
  45.            $prev[$a] .=$start_prev;
  46.            }
  47.        if(eregi("class=apercu-tempe>",$start_prev)&&$a<=$nb_prev)
  48.           {
  49.            $prev[$a] .=$start_prev;
  50.            }
  51.         if(eregi("class=apercu-tempe-valeur>",$start_prev)&&$a<=$nb_prev)
  52.            {
  53.            $prev[$a] .=$start_prev . "</table>\n" ;
  54.         $a++;
  55.      }
  56.         }
  57.       fclose($fp);
  58.       for ($i=1; $i<=$nb_prev; $i++)
  59.             {
  60.           $prev[$i]=str_replace("<center>","",$prev[$i]);
  61.          $prev[$i]=str_replace("</center>","",$prev[$i]);
  62.  
  63.           $prev[$i]=str_replace("<font class=apercu-date>","<p><font color=\"#000000\">",$prev[$i]);
  64.           $prev[$i]=str_replace("<font class=apercu-temps-new>","<p><font color=\"#aa0000\">",$prev[$i]);
  65.           $prev[$i]=str_replace("<font class=apercu-tempe>","<p><font color=\"#000000\">",$prev[$i]);
  66.           $prev[$i]=str_replace("<font class=apercu-tempe-valeur>","<p><font color=\"#000000\">",$prev[$i]);
  67.  
  68.           $prev[$i]=str_replace("<td height=\"40\" bgcolor=\"#F0A50C\">","<table cellspacing=\"0\" cellpading=\"0\" border=\"0\" width=\"100%\"><tr><td align=\"center\" height=\"40\" bgcolor=\"#F0A50C\">\n",$prev[$i]);
  69.           $prev[$i]=str_replace("<td height=67 align=center>","<tr><td align=\"center\" height=67 bgcolor=\"#FFFFFF\">\n",$prev[$i]);
  70.           $prev[$i]=str_replace("<td height=38>","<tr><td align=\"center\" height=38 bgcolor=\"#FFFFFF\">\n",$prev[$i]);
  71.           $prev[$i]=str_replace("<td height=\"25\" bgcolor=\"#F0A50C\">","<tr><td align=\"center\" height=\"25\" bgcolor=\"#F0A50C\">\n",$prev[$i]);
  72.           $prev[$i]=str_replace("<td height=\"25\" bgcolor=\"#FBD141\">","<tr><td align=\"center\" height=\"25\" bgcolor=\"#FBD141\">\n",$prev[$i]);
  73.           $prev[$i]=str_replace("</td>","</td></tr>",$prev[$i]);
  74.          }
  75.      echo "<table cellspacing=\"0\" cellpading=\"0\" border=\"0\">\n";
  76.      echo "  <tr>\n";
  77.      for ($i=1; $i<=$nb_prev; $i++)
  78.         {
  79.         echo "    <td width=\"100\" valign=\"top\">\n";
  80.         echo $prev[$i];
  81.         echo "</td>";
  82.         }
  83.      echo "  </tr>\n";
  84.      echo "</table>\n";
  85.      }
  86.  }
  87. disp_meteo(3);  // appel de la fontion avec 3 jours de prevision


 
edit : c est les previsions pour paris.
pour d autres villes faut changer l url du fopen


 
si t'as des question hesite pas
 


---------------
icite ca shoot : albphoto.fr   //   la ca bricole : albworkshop.fr  //  A VENDRE Canon ST-E2
n°1150687
tintin34
Posté le 15-07-2005 à 14:52:19  profilanswer
 

Salut MetoS
 
J'ai des questions à propos de ce que tu présentes:
 
Pour voir comment je peux modifier ta procedure pour mes besoins, j'ai copié ton code dans une balise <SCRIPT> que j'ai placé dans la partie HEAD
 
mais comment fait on pour faire afficher le résultat dans la partie BODY ( Pour voir j'ai placé aussi le code directe à l'endroit dans BODY )
Dans tous les cas rien ne s'affiche??

n°1150692
afbilou
pouet your life
Posté le 15-07-2005 à 14:59:27  profilanswer
 

Si la page est valide xhtml prefere l'utilisation de http://fr.php.net/manual/fr/ref.domxml.php pour effectuer un parsing simple et efficace de ta page.

n°1150698
tintin34
Posté le 15-07-2005 à 15:10:25  profilanswer
 

ben j'en sais rien moi si c'est valide ou non je voulais déjà voir ce que faisait cette fonction pour voir
 
maintenant je ne sais pas si ca va m'aider ou non. Je sais pas du tout comment faire ce que je veux  
(j'ai une url distante quand je vais dessus les données qui m'interressent sont statiques mais généré par un truc que j'ai pas acces et quand je fais afficher le code ce qui correspond à l'affichage qui m'interrese se trouve à la fin, je voudrais le réccupérer sur ma page perso)

n°1150700
afbilou
pouet your life
Posté le 15-07-2005 à 15:14:15  profilanswer
 

Tu as pensé a verifier si la page en question ne possede pas un flux RSS ? (pardon si la question peut te paraitre bete)

n°1150701
cesarr89
Posté le 15-07-2005 à 15:17:17  profilanswer
 

tintin34 a écrit :

Salut MetoS
 
J'ai des questions à propos de ce que tu présentes:
 
Pour voir comment je peux modifier ta procedure pour mes besoins, j'ai copié ton code dans une balise <SCRIPT> que j'ai placé dans la partie HEAD
 
mais comment fait on pour faire afficher le résultat dans la partie BODY ( Pour voir j'ai placé aussi le code directe à l'endroit dans BODY )
Dans tous les cas rien ne s'affiche??


 
Tu serais pas un débutant toi par hasard?
Tu l'apelle au moins la fonction?

n°1150702
tintin34
Posté le 15-07-2005 à 15:17:50  profilanswer
 

Non elle n'est pas bete mais comment je le vérifie?

n°1150704
cesarr89
Posté le 15-07-2005 à 15:18:52  profilanswer
 

tintin34 a écrit :

Non elle n'est pas bete mais comment je le vérifie?


 
Bah en allant voire sur le site en question.

mood
Publicité
Posté le 15-07-2005 à 15:18:52  profilanswer
 

n°1150710
tintin34
Posté le 15-07-2005 à 15:21:19  profilanswer
 

ben j'ai fait un essai d'appel dans le body j'ai mis le nom de la fonction avec le parametre mais visiblement ca ne fait pas l'appel

n°1150712
afbilou
pouet your life
Posté le 15-07-2005 à 15:23:01  profilanswer
 

Dans le <head> de la page tu vérifies la presence d'un code similaire a :

Code :
  1. <LINK rel="alternate" type="application/rss+xml" title="HardWare.fr - NEWS (RSS)" href="http://www.hardware.fr/backend/news.xml" />
  2. <LINK rel="alternate" type="application/rss+xml" title="HardWare.fr - ARTICLES (RSS)" href="http://www.hardware.fr/backend/articles.xml" />


(exemple pris de hardware.fr :p)

n°1150793
tintin34
Posté le 15-07-2005 à 17:26:53  profilanswer
 

il y a qu'un seul "<LINK" et aucun qui se suit par RSS

n°1151160
tintin34
Posté le 16-07-2005 à 11:33:13  profilanswer
 

Quelqu'un pourait il me dire comment je dois procéder pour inclure dans une page html et faire fonctionner, la fonction que MetoS propose à xkamui plut haut
 
j'ai fait plusieurs essais différents dans une page test et il ne s'affiche rien

n°1151320
CNeo
Posté le 16-07-2005 à 16:54:13  profilanswer
 

xkamui a écrit :

Voilà ce que je veux faire :  
 
sur un site se trouve les informations voulues, la page est du type http://www.site.com/selection.php?saisie=texte et dedans, les données s'affichent dans un tableau et tout et tout...
 
bon, moi, je veux les 5 cellules qui se trouvetn au millieu de cette page html et les mettre dans des variables pour afficher ces informations sur mon site internet.
 
es-ce possible ??
pouvez vous me mettre sur la voie ??
 
merci @ ceux qui participeront...


 
Si tu nous donnais le site depuis lequel tu veux récupérer les infos ça nous aiderait. :)

n°1151367
tintin34
Posté le 16-07-2005 à 18:28:58  profilanswer
 

si c'est à moi qu'on demande sur quel site je veux récupérer des infos:
voila l'url
http://meteo.tf1.fr/meteo/previsio [...] 92,00.html
 
je veux récupérer le bloc météo qui s'inscrit en statique vers la fin du code html (un peu apres la chaine <!-- /Bloc IBL_ID=22307) et l'inclure sur ma page d'acceuil (j'ai par ailleurs un javascript fourni par lasoluce.net
 
merci pour ceux qui peuvent m'aider. l'hébergeur me signale que je pourais pas executer d'appli annexe. Donc le mieux c'est surement une fonction qui récupère le code statique et qui l'épure. c'est dans ce sens que je voulais tester la fonction de MetoS mais j'arrive pas à l'inclure correctement ou bien le code est pas compris par mon environnment

n°1151379
tintin34
Posté le 16-07-2005 à 18:40:25  profilanswer
 

J'ai oublié de finir ma phrase concernant le javascript de lasoluce.net, il est moyennement satifaisant car il propose des infos pour une ville qui se trouve à environ 90km du lieu qui m'interresse

n°1151509
plainsofpa​in
Pingouino's lover
Posté le 16-07-2005 à 22:27:23  profilanswer
 

tintin, le script de metos est du php, pas de l'html ...  
 
Si tu l'as bien mis dans une page php, est-ce que d'autres pages php fonctionnent ?


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1154005
tintin34
Posté le 19-07-2005 à 17:51:49  profilanswer
 

J'ai compris que c'etait que la fonction de metos est du php
 
1) peut on l'utiliser malgré tout au sein d'une page html
2) sinon peut on la transposer en javascript par exemple
3) sinon comment je peux récupérer les infos météo à l'url que j'ai indiqué plus haut et les intégrer à ma guise sur ma page d'acceuil en html


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Récupérer des données d'une page HTML générée par un autre domaine

 

Sujets relatifs
Faire un formulaire pour renvoyer un mail sur une page HTMLcomment ouvrir un document word en http sur une certaine page?
[CGI / C] Relancer une page HTML apres traitement du CGI[Access] Peut on interfacer access et un domaine?
(HTML) Comment faire pour que l'image de fond ne se répète pas?[C]Comment recuperer un caractere des qu'il est saisi au clavier?
html : site images + zones de textes, sans calques, ni rien... ?[HTML/CSS] Comment justifier le texte entre <li> ?
Plus de sujets relatifs à : Récupérer des données d'une page HTML générée par un autre domaine


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR