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
Meta description non prises en compte par google Rédaction web et référencement Jeudi à 11:20
WordPress Meta description produit avec WooCommerce Débuter en référencement 17 Novembre 2022
Bien gérer un script PHP un peu long Développement d'un site Web ou d'une appli mobile 12 Octobre 2022
Balise meta name description non prise en compte par Google Référencement Google 19 Septembre 2022
Deux questions pour deux scripts javascript. Développement d'un site Web ou d'une appli mobile 29 Août 2022
Search Console Comment réparer l'affichage de Google dans la mauvaise balise de description Meta ? Problèmes de référencement spécifiques à vos sites 19 Août 2022
Meta description différente de celle choisie (Rank Math + Qwant) Problèmes de référencement spécifiques à vos sites 25 Juillet 2022
Pages dynamiques avec Javascript ? Développement d'un site Web ou d'une appli mobile 14 Juillet 2022
Balise méta description : faut-il insérer son mot-clé ? Débuter en référencement 2 Juillet 2022
[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