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:
    788
    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:
    788
    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
Recherche de script de crawler en php Développement d'un site Web ou d'une appli mobile 14 Novembre 2006
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
Description du système de crawl et d'indexation de Google Crawl et indexation Google, sitemaps 20 Août 2008
Script de crawl de pages web Développement d'un site Web ou d'une appli mobile 17 Août 2006
Full Crawl a enfin commencé . redirections javascript Crawl et indexation Google, sitemaps 6 Février 2003
Balise méta description : faut-il insérer son mot-clé ? Débuter en référencement Hier à 15:56
[JavaScript Array] modifier un code html sans le supprimer/recréer Développement d'un site Web ou d'une appli mobile 20 Juin 2022
Lien dans la description d'une vidéo YouTube...quel est prix raisonnable par mois ? YouTube, Google Images et Google Maps 16 Juin 2022
Le javascript protège-t-il du copiage HTML ? Développement d'un site Web ou d'une appli mobile 9 Mai 2022
Sites de scripts PHP, jQuery, Ajax, etc. Le café de WebRankInfo 20 Mars 2022
Tester une URL avec Javascript Développement d'un site Web ou d'une appli mobile 25 Février 2022
jour en javascript Développement d'un site Web ou d'une appli mobile 24 Février 2022
Search Console Probleme Meta title & Meta description fiche produit Référencement Google 27 Janvier 2022
référencement site full javascript Débuter en référencement 17 Janvier 2022
Script "haut de page". Développement d'un site Web ou d'une appli mobile 4 Janvier 2022
Détecter arrêt user d'un script PHP ? Développement d'un site Web ou d'une appli mobile 28 Décembre 2021
Astuce Référencement Playstore et pré inscription Référencement Google 17 Décembre 2021