pressé : récuperer une statistique sur une page html

pressé : récuperer une statistique sur une page html - PHP - Programmation

Marsh Posté le 08-11-2006 à 15:40:06    

Bonjour, je souhaite récuperer une donnée statistique sur une page html. Pour accèder à cette page html, je dois me logguer.
 
Est ce possible de réaliser cela avec php ? Est ce difficile ? pour info je suis débutant. Si ce n'est pas possible par php, quel langage utiliser ?
 
J'ai vraiment besoin rapidemment de réaliser ce script rapidemment pour un projet.
 
Merci beaucoup

Reply

Marsh Posté le 08-11-2006 à 15:40:06   

Reply

Marsh Posté le 08-11-2006 à 15:42:12    

Niko80 a écrit :

Est ce possible de réaliser cela avec php ?


oui

Niko80 a écrit :

Est ce difficile ? pour info je suis débutant.


moyen on va dire :o mais le plus simple c'est d'utiliser curl => http://fr.php.net/curl
 

Reply

Marsh Posté le 08-11-2006 à 15:47:26    

ou phpmyvisites...ICI.. sympa gratuit etoutetout.. :D
 
faut vraiment que j'arréte de lire en diagonale moi  :heink:


Message édité par chani_t le 08-11-2006 à 15:49:23
Reply

Marsh Posté le 08-11-2006 à 22:17:44    

merci.
 
ok ça n'a pas l'air évident évident, je vais chercher des informations sur curl ...  
 
est ce plus compliqué que de faire un script qui fait une screenshot du site internet, et un autre script qui fait une reconnaissance de caractères à des endroits précis de la page et qui me l'envoi ?

Reply

Marsh Posté le 08-11-2006 à 22:18:36    

Ouais, très compliqué

Reply

Marsh Posté le 08-11-2006 à 23:00:23    

Pourquoi curl tout le temps dès le départ :??:
Je suis pas sur d'avoir bien compris le besoin, mais je vois pas la nécessité de curl :spamafote:

Reply

Marsh Posté le 08-11-2006 à 23:16:13    

ok, je vais expliquer en détail.
 
1) Sur le net, il y a par exemple le site meteodumachin.com qui m'affiche dans un certain coin de la page la temperature de bidule. Cette donnée change toute les 20secondes.
 
2) Je souhaite "copier" cette donnée et la mettre sur une page privée perso. Je souhaite bien entendu copier toutes les 20secondes cette donnée afin d'avoir la donnée en continu.
 
voila...
j'ai regardé vite fait curl, c'est possible comme ça de localiser dans du code html un chiffre dans un endroit donné de la page..?
 
sinon leflos5 tu parlais d'une autre méthode ?

Reply

Marsh Posté le 08-11-2006 à 23:32:27    

Avec Curl on peut justement faire ce genre de truc... Connexion -> regexp à deux balles -> roulaize

Reply

Marsh Posté le 09-11-2006 à 05:41:41    

Niko80 a écrit :

ok, je vais expliquer en détail.
 
1) Sur le net, il y a par exemple le site meteodumachin.com qui m'affiche dans un certain coin de la page la temperature de bidule. Cette donnée change toute les 20secondes.
 
2) Je souhaite "copier" cette donnée et la mettre sur une page privée perso. Je souhaite bien entendu copier toutes les 20secondes cette donnée afin d'avoir la donnée en continu.
 
voila...
j'ai regardé vite fait curl, c'est possible comme ça de localiser dans du code html un chiffre dans un endroit donné de la page..?
 
sinon leflos5 tu parlais d'une autre méthode ?


J'avais pas compris ça comme ça, meaculpa :d

Reply

Marsh Posté le 09-11-2006 à 08:53:29    

Niko80 a écrit :

ok, je vais expliquer en détail.
 
1) Sur le net, il y a par exemple le site meteodumachin.com qui m'affiche dans un certain coin de la page la temperature de bidule. Cette donnée change toute les 20secondes.
 
2) Je souhaite "copier" cette donnée et la mettre sur une page privée perso. Je souhaite bien entendu copier toutes les 20secondes cette donnée afin d'avoir la donnée en continu.
 
voila...
j'ai regardé vite fait curl, c'est possible comme ça de localiser dans du code html un chiffre dans un endroit donné de la page..?
 
sinon leflos5 tu parlais d'une autre méthode ?


 
et ton site il balance pas un rss, avec les données que tu veux récupérer ? ce serait auquel cas bien plus simple

Reply

Marsh Posté le 09-11-2006 à 08:53:29   

Reply

Marsh Posté le 09-11-2006 à 08:53:36    

Ouais enfin moi j'ai conseillé curl parce qu'il parlait au départ de la nécessité de s'identifier, si c'est pas le cas un file_get_contents est beaucoup plus simple à utiliser [:petrus]

Reply

Marsh Posté le 09-11-2006 à 14:43:36    

Le pattern de base étant:
 
- post
- reception de cookie ( facultatif )
- redirection javascript ( pourquoi tous les developpeurs utilisent ca ??? )
- page d'action
 
Avec une interface et un formulaire de preg_match tu spam ce que tu vx.
 

Code :
  1. <?php
  2. function httpPostRequest($host, $path, $arrPostvars, $port=80, $referer="" )
  3. {
  4.   $arrEncodedPairs = array();
  5.   $res = "";
  6.   foreach ($arrPostvars as $var => $value)
  7.   $arrEncodedPairs[] = rawurlencode($var)."=".rawurlencode($value);
  8.   $postData = implode("&", $arrEncodedPairs);
  9.   $request = "POST $path HTTP/1.1\n".
  10.   "Host: $host\n".
  11.   (($referer) ? "Referer: $referer\n" : "" ).
  12.   "Content-type: application/x-www-form-urlencoded\n".
  13.   "Content-length: ".strlen($postData)."\n".
  14.   "Connection: close\n\n".
  15.   $postData."\n";
  16.   print("<pre>Request:\n".htmlentities($request)."</pre>" );
  17.   if ($fp = fsockopen($host, $port))
  18.   {
  19.     if (fputs($fp, $request))
  20.     {
  21.       while(! feof($fp))
  22.       {
  23.        $res .= fgets($fp, 128);
  24.       }
  25.       fclose($fp);
  26.       return $res;
  27.     }
  28.   }
  29. }
  30. function print_tab($tab){
  31. if(is_array($tab)){
  32. echo '<pre>';
  33. print_r($tab);
  34. echo '</pre>';
  35. }
  36. else{
  37.  $tab = array('La variable recue n\'est pas un tableau');
  38.  echo '<pre>';
  39. print_r($tab);
  40. echo '</pre>';
  41. }
  42. }
  43. $post=array(
  44. 'destination'=>'',
  45. 'username'=>'xxxxxxxxx',
  46. 'password'=>'xxxxxx'
  47. );
  48. $dood = httpPostRequest('www.blogger.com','/login.do',$post);
  49. $pattern = "@Set-Cookie\:(.*)@";
  50. $cookies = preg_match_all($pattern,$dood,$matches);
  51. $setcookie = $matches[1];
  52. print_tab($matches);die;
  53. //ecrire le cookie dans un fichier puis le renvoyer par la suite
  54. ...............


 
Je ne sais pas si il ya des ressources sur le Web.  => google très Constructif  
 
 
Tu pourras automatiser le truc en fonction des sites que tu crawl. Selon le site tu délegues la tache à la fonction appropriée
 
 
Utiles:
 
- preg_quote
- fopen
- header
- preg_match
- setcookie


Message édité par supermofo le 09-11-2006 à 15:02:12
Reply

Marsh Posté le 11-11-2006 à 16:18:48    

Non le site n'a pas de flux rss.
 
Merci beaucoup supermofo, je vais essayer de comprendre tout ça...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed