IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Indexer tous les liens d'un site web


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 12
    Points
    12
    Par défaut Indexer tous les liens d'un site web
    Bonjour à tous,

    Voila je voudrais savoir comment on peut récupérer tout les liens d'un site web voila j'ai fais un script qui récupère les liens d'une page web mais pas de tout le site, je ne sais pas comment faire, si un logiciel existe de ce type merci de m'en informer voila mon script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    <?php
     
      ini_set('max_execution_time', 0) ; 
      $debut = microtime(true) ; 
     
     
    Class Linkers 
    {
         public $url = '' ; 
     
    	 public function get_links() 
    	 {
            $data = file_get_contents($this->url) ;
    	    $links_array = array () ; 
    	    $pattern = ' #href="[a-zA-z0-9(-|&|/|?|=|)]+"# ';
     
    	    while(preg_match( $pattern, $data, $regs ))
    	    {  
    			$links_array[] = $regs[0] ; 
    		    $data  = str_replace($regs[0], "", $data); 
    		}
     
    	    $load =  array_keys(array_flip($links_array)) ; 
     
     
    	    $array_replace = array ('href="','"') ;
            $load = str_replace($array_replace, "", $load) ; 
            $load = preg_replace("#^[/|:|index(.php|.html|.jsp|.pl)]#", $this->url, $load) ;
     
     
    		foreach( $load as $key => $value)
            {
     
        		if(preg_match("#.png|.css|.js|.xml|.ico|.jpg|.avi|.bmp#", $value))
                  unset( $load[$key] ) ; 
    	        if(preg_match("#^$this->url$#", $value) )
    			  unset( $load[$key] ) ;
    			if(!preg_match("#$this->url#", $value) )
    	          unset( $load[$key] ) ; 
     
    		} 
    		Return $load;
     
        }
     
     
    }
     
    $linkers = new Linkers  () ;
     
    $linkers->url = "http://www.google.fr" ;
     
    $data = $linkers->get_links() ;
    $nombre = count($data) ;
     
    echo 'Url en cours de scan :'. $linkers->url .' <br>Le tableau contient :'. $nombre .' URL(s)<br><br>' ; 
    echo '<pre>';
    print_r($data);
    echo '<pre>';
     
     
     
    echo "Script exectuté ". round(microtime(true) - $debut, 4) ." secondes";
    ?>
    Merci de vos réponse ;

    Ps: Je sais pas si j'ai posté au bonne endroit

  2. #2
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 909
    Points : 1 014
    Points
    1 014
    Par défaut scanner les répertoires
    En fait, pour le faire pour tout le site, tu scannes depuis le répertoire racine et tous les sous-répertoires. Dès que tu vois un fichier .php (ou autre extension qui peut contenir des liens), tu l'ouvres et tu exécutes ton script qui cherche tous les liens.

    Attention à la méthode utilisée. Il y a toujours plusieurs façons d'arriver au même résultat. Mais par contre, pas toujours à la même vitesse. C'est dans ces moments-là que je savoure les algorithmes.

Discussions similaires

  1. Bloquer tous les liens d'une page web
    Par rockso dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 29/04/2014, 09h41
  2. Réponses: 0
    Dernier message: 30/06/2009, 10h47
  3. Réponses: 8
    Dernier message: 06/07/2008, 12h44
  4. Les liens d'un site Web
    Par Dev.com dans le forum Services
    Réponses: 1
    Dernier message: 08/12/2007, 19h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo