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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Requete HTTP, Lire le flot d'une page HTML dans un script php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requete HTTP, Lire le flot d'une page HTML dans un script php

n°757900
Agatla
Posté le 09-06-2004 à 14:35:24  profilanswer
 

Voila mon probleme.  
Je dispose d'un serveur Apache et d'une base de données MySQL.  
Pour les versions je les ai pas en tête mais ca doit etre assez récent vu que j'utilise pas mal de module open source et qu'en générale c'est les nouvelles versions qui sont demandées.  
 
Mon problème c'est que j'ai plusieurs page web, que je dois parse à intervale régulier(c'est pas une contrainte si je dois exécuter un script toutes les semaines pour mettre a jour).  
Je voudrai donc faire un script php/javascript qui fait une collecte d'information sur ces pages et les mets dans des base de données pour les exploiter ensuite.  
 
Le seul soucis que j'ai c'est de trouver comment lire le source de la page HTML et de pouvoir le lire dans mon script php, ceci sur un nombre X de pages.  
 
Merci d'avance

mood
Publicité
Posté le 09-06-2004 à 14:35:24  profilanswer
 

n°757950
Mara's dad
Yes I can !
Posté le 09-06-2004 à 14:52:51  profilanswer
 

Le html, c'est soit une grosse string si t'as pas de chance et alors tu te démerde avec expression régulières, recherche de sous-chaînes...
Ou alors t'as de la chance et c'est du XHTML, et la tu peux utiliser un parser XML pour te faciliter la vie.
 
Sinon, je vois pas bien où est la question...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°758009
Agatla
Posté le 09-06-2004 à 15:28:43  profilanswer
 

Oui désolé, j'ai vraiment pas été clair...
 
Le problème c'est que je n'arrive pas a trouver de bibliotheque de fonction/package en javascript/php me permettant de récupérer dans une variable php le source de la page web html que je veux lire.
 
j'espere avoir été plus clair.

n°758030
Mara's dad
Yes I can !
Posté le 09-06-2004 à 15:43:25  profilanswer
 

En PHP, va voir du coté de CURL si tu as la lib qui va bien :
http://fr2.php.net/manual/fr/ref.curl.php
 
Sinon, sans la lib il faut tout faire à la main ( en fait apprendre à parler HTTP ) avec les sockets :
http://fr2.php.net/manual/fr/function.fsockopen.php


Message édité par Mara's dad le 09-06-2004 à 15:44:34

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°758038
Mara's dad
Yes I can !
Posté le 09-06-2004 à 15:48:25  profilanswer
 

Exemple avec les sockets :
 

Code :
  1. function getProvider($ip)
  2. {
  3. $Provider = "?";
  4. $command = "/perl/whois?searchtext=" . $ip . "&do_search=Do+Search";
  5. $fp = fsockopen( "www.ripe.net", 80, &$errno, &$errstr, 30);
  6. if($fp)
  7. {
  8.  // Recherche du Provider
  9.  fputs($fp,"GET $command HTTP/1.0\n\n" );
  10.  $buff = "";
  11.  while(!feof($fp))
  12.  {
  13.   $buff .= fgets($fp,128);
  14.  }
  15.  fclose($fp);
  16.  $p1 = strpos( $buff, "descr:" );
  17.  $p2 = strpos( $buff, "country:" );
  18.  $Descr = substr( $buff, $p1 + 14, $p2 - $p1 - 15 );
  19.  $Descr = str_replace( "\ndescr:        ", ", ", $Descr );
  20.  $buff = substr( $buff, $p2 + 14 );
  21.  $p2 = strpos( $buff, "\n" );
  22.  $Country = substr( $buff, 0, $p2 );
  23.  $Provider = $Descr . "\nCountry : " . $Country;
  24. }
  25. return( $Provider );
  26. }


 
Cette fonction prend une adresse IP en entrée.
Elle interroge la base whois de www.ripe.net et extrait quelques informations sur le propriétaire de l'adresse qu'elle retourne dans $Provier :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°758061
Agatla
Posté le 09-06-2004 à 16:02:14  profilanswer
 

Je te remercie,  
Ca me parait tout a fait etre ce que je recherche!

n°758091
ratibus
Posté le 09-06-2004 à 16:12:08  profilanswer
 

Pour une simple requête GET tu peux faire ça :
 
à partir de PHP 4.3.0
<?php
$contenu = file_get_contents($URL);
?>
 
sinon
<?php
$contenu = implode('', file($URL));
?>
 
Cela suppose neanmoins que le paramètre allow_url_fopen dans php.ini soit sur on


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Requete HTTP, Lire le flot d'une page HTML dans un script php

 

Sujets relatifs
Utiliser un __gnu_cxx::stdio_filebuf pour lire un fichierUn bon éditeur HTML pour Gnome
requete VB imbriquerequete SQL
Envoie de requete HTTP[cherche Script] Gestion d'une bdd de DVD
[ODBC + VC++] Exécution d'une requête SQL d'insertionHTML -> XML Validateur de code ?
[HTML/CSS][RESOLU]Changer la couleur d'un <INPUT> 
Plus de sujets relatifs à : Requete HTTP, Lire le flot d'une page HTML dans un script php


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