Script de crawl en php

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par @routaym, 3 Août 2015.

  1. @routaym
    @routaym Nouveau WRInaute
    Inscrit:
    3 Août 2015
    Messages:
    6
    J'aime reçus:
    0
    bonjour tt le monde !! je suis entrain de rediger un script php qui me permettrait de faire les choses suivants :
    1)crawler d'un site internet
    2)extraire tous les liens externes et invalides(404 not found)
    3)mettre le resultat dans la bdd
    voilà c que j'écrit
    exter.php
    Code:
    <?php 
    
    // It may take a whils to spider a website ... 
       set_time_limit(10000); 
    
    // Inculde the phpcrawl-mainclass 
    include_once('../PHPCrawl_083/PHPCrawl_083/libs/PHPCrawler.class.php'); 
     //include ('2.php');  
    // Extend the class and override the handleDocumentInfo()-method 
     
    class MyCrawler extends PHPCrawler 
    
    {   
    function handleDocumentInfo(PHPCrawlerDocumentInfo $DocInfo) {
    
        if (PHP_SAPI == "cli") $lb = "\n"; 
        else {
    	$lb = "<br />"; 
    	
         
            
        $home_url = parse_url($DocInfo->url ,PHP_URL_HOST ); 
    	 
        $file = @file_get_contents($DocInfo->url);
    	  
        preg_match_all('/<a.*?href\s*=\s*["\']([^"\']+)[^>]*>.*?<\/a>/si', $file, $urls);
       # Affichage
          
    	 echo '<br/>';
    	 
    	 
    	 
         foreach($urls as $url){
         for($i=0;$i<sizeof($url);$i++){
    	 
    	  
    	 $link_url = parse_url( $url[$i],PHP_URL_HOST ); 
    	  //and !is_valid_url($url[$i])
    	 
    	     if (($link_url != $home_url)and is_valid_url($url[$i])) {
    	         
    	         echo '1'.$lb ; 
    	         echo " Page requested:  ".$DocInfo->url." (".$DocInfo->http_status_code.")".$lb; 
                 echo '<br/>';
                 echo "<font color=green >"."lien externe : ".$url[$i].$lb."</font>";
    			 echo '<br/>';
    			 flush();
    			
    	    }
          //if (!in_array($url,$tab)){
            //array_push($tab,$url);
            // }	
    	  }
    	}
    	
       }
     }
    }
    $crawler = new MyCrawler(); 
    $crawler->setURL("http://tunisie-web.org"); 
     
    $crawler->addURLFilterRule("#\.(jpg|gif|png|pdf|jpeg|css|js)$#i"); 
    $crawler->setWorkingDirectory("C:/Users/mayss/Documents/travailcrawl/"); 
    $crawler->go(); 
     
    ?>
    2.php
    Code:
     <?php
     function is_valid_url($url){
      
     $array = @get_headers($url);//@ pour ne pas afficher l'erreur
    
      $string = $array[0];
    
      if(strpos($string,"404 Not found")) {
          return true;
      } else {
         return false;
      }
     }
     
     ?>
    la 3eme tache pas resolu :( , mais le resultat de l'execution n'est pas suffisante ,il ne fait pa ce que je veux :/
     
  2. loubet
    loubet WRInaute impliqué
    Inscrit:
    19 Février 2003
    Messages:
    792
    J'aime reçus:
    0
    c'est pas clair, le point 2 est atteint ou non ?
    car s'il est atteint le point 3 ne pose aucun problème quand on sait executer une requete sql insert
     
  3. @routaym
    @routaym Nouveau WRInaute
    Inscrit:
    3 Août 2015
    Messages:
    6
    J'aime reçus:
    0
    @loubet
    nn pas exactement , il m'affiche certes liens externes et pas ts
     
  4. loubet
    loubet WRInaute impliqué
    Inscrit:
    19 Février 2003
    Messages:
    792
    J'aime reçus:
    0
    if(strpos($string,"404 Not found")) {
    return true;
    } else {
    return false;
    }

    cela n'affiche donc que les liens en 404, pas ceux en 200 ou autre.
     
  5. @routaym
    @routaym Nouveau WRInaute
    Inscrit:
    3 Août 2015
    Messages:
    6
    J'aime reçus:
    0
    wi , je voulais dire qu'il m'affiche quelques liens externes et invalides :D
     
Chargement...
Similar Threads - Script crawl php Forum Date
Ras le bol ! Bloquer le crawling des fichiers Css et Javascript à Google Crawl et indexation Google, sitemaps 12 Septembre 2015
Script pour crawler un site Développement d'un site Web ou d'une appli mobile 28 Novembre 2014
A quel moment un crawler exécute le Javascript Débuter en référencement 23 Avril 2012
[Google analytics]Le script pour suivre google bot et autres crawlers Google Analytics 23 Août 2009
HTML fait par Javascript <=>gérer les Events ? Développement d'un site Web ou d'une appli mobile Dimanche à 11:12
Soucis de description dans les resultats google Problèmes de référencement spécifiques à vos sites 10 Juin 2020
Compresseur Javascript récent? Développement d'un site Web ou d'une appli mobile 7 Juin 2020
Debugger Javascript sous IOS (avec émulateur) Développement d'un site Web ou d'une appli mobile 27 Mai 2020
Inscription sur un domaine de référence Débuter en référencement 9 Mai 2020
Problème meta description Wordpress Problèmes de référencement spécifiques à vos sites 14 Avril 2020
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice