Dicton du 24 Mai:
Après Sainte-Angèle, le jardinier ne craint plus le gel.

Télécharger
Noter:

Récuperer les liens d'une page web php

Description

Pour récupérer les liens d'une page internet, ce code php prend toutes les URL et les places sauvegarde dans un fichier .txt

Version avec une URL à scanner:

Code source (PHP)

//version avec l'url directement:
$urlavoir="http://www.c2script.com/scripts/recuperer-les-liens-d-une-page-web-php-s19.html"; //mettez ici l'url
$fichier=file_get_contents($urlavoir);//lit la page à copier
$ex=preg_split("#(https?://[a-z0-9-_./?&;=]+)#i",$fichier,null,PREG_SPLIT_DELIM_CAPTURE);//notre preg_split prend tous les liens du type http*, [a-z0-9-_./?&;=] sert à prendre tout dans L'URL, même si il y a des var1=1&var2=..., et vue qu'on accepte pas les ' ni ", preg_split s'arrêtra à la fin du lien qui est dans la balise <a href="ici">
$liensdelapage="";
$lesLiens=array();//on va enregistrer les liens qu'on met dans le txt pour ne pas remettre le même
foreach($ex as $liens){
if(preg_match("#^http#i",$liens)){//si c'est bien que preg_split à capturer, on le met dans le fichier txt
if(!in_array($liens,$lesLiens)){//si on la pas déjà mis dans le txt, on l'enregistre
$liensdelapage.=$liens."n";
$lesLiens[]=$liens;//pour ne pas l'enregistrer une deuxième fois
}
}
}
file_put_contents("liens.txt",$liensdelapage);//sauvegarde les liens dans le fichier liens.txt
echo "ok";


Version avec un dossier de fichiers à scanner:

Scannera les fichiers ayant du code source HTML.

Code source (PHP)

$scan=scandir("./");//le dossier à scanner
foreach($scan as $fichier){
if(is_file($fichier)){
$fichier=file_get_contents($fichier);//lit la page à copier
$ex=explode("href=",$fichier);//coupe le début du lien et le place dans un tableau
$liensdelapage="";//notre retour (les liens de la page)
foreach($ex as $liens){//on explore tous les liens
$ex2=explode("\"",$liens);//on s'arrête au guillemet ", soit la fin de la balise href=""
$url="";//initialisation de la variable
$url=(substr($ex2[0],0,1)=="\"" OR substr($ex2[0],0,1)=="'")?substr($ex2[0],1):$ex2[0];//enlève le " ou ' du début car on à pris à partir de = pour être sûr de prendre tous les liens (href=)
$url=substr($url,-1,1)=="/"?substr($url,0,-1):$url;//on supprime le slash de la fin si il y en a un
$liensdelapage.=$url."n";//puis on retourne le lien en faisant un saut de ligne pour placer la prochaine url en dessous
}
file_put_contents($fichier.".txt",$liensdelapage);//en fin on colle les liens dans un fichier texte avec le même nom que la page qui vient d'être scannée
echo "ok";
}
}

Commentaires

Pas encore de commentaire ajouté, soyez le premier!

Ajouter un commentaire

Pseudo/Nom *
Email *
Message *
La balise [code]Votre code...[/code] peut être utilisée

Captcha * 1 + un =

Les champs marqués d'un * sont obligatoires.

Retour à la liste des scripts

Flag Counter