Script qui suit les liens d'une page web

nediast Messages postés 14 Statut Membre -  
jjsteing Messages postés 1803 Statut Contributeur -
Bonjour,

ça fait plus de deux semaines que je suis entrain d'essayer pour retrouver un script me permettant de suivre les liens d'une page web quel que soit l'url de la page.
voilà un script qui permet de tirer le contenu de la balise <a> du code html d'une page web (par exp href="/dossier/fichier-23_gd" =>dossier/fichier-23-gd) mais j'ai pas pu retrouver un script me donnant url complètes comme http://www.monsite.com/site1/dossier/fichier-23-gd

$fname="http://www.monsite.com/site1/dossier/fichier-89-p";
$current=null;
$elem=null;
$xres=0;
$links=array();
$d=new DOMDocument();

$xres = @$d->loadHTMLFile($fname);

if($xres===false)
{
echo "Erreur \"$fname\" introuvable. \n";
return array();
}
$dnl=$d->getElementsByTagName("a");
if($dnl->length===0)
{
return array();
}
for($i=0;$i<=$dnl->length;$i++)
{
$current=$dnl->item($i);
if($current===null)
{
continue;
}
$elem=$current;
if($elem->hasAttribute("href"))
{
array_push($links,$elem->getAttribute("href"));
}
}
print_r( $links);
A voir également:

1 réponse

jjsteing Messages postés 1803 Statut Contributeur 181
 
Bonjour :)
Je pense que ça fait ce que tu veux.. malheureusement je n'ai pas trouver de fonction comme 'Get_Url($frame)' :(

<?php
$fname="http://jjsteing.ifrance.com/index.php";
$UrlOriginale=explode("/", $fname);
$i=0;
$UrlFinale="";

while (isset($UrlOriginale[$i])){
if ($i < count($UrlOriginale)-1){
$UrlFinale.=$UrlOriginale[$i];

if ($UrlOriginale[$i] = ""){
$UrlFinale.="/";
}
$UrlFinale.="/";
//echo $UrlFinale." - ".$i."<br>";
}
$i=$i+1;
}

$current=null;
$elem=null;
$xres=0;
$links=array();
$d=new DOMDocument();

$xres = @$d->loadHTMLFile($fname);

if($xres===false)
{
echo "Erreur \"$fname\" introuvable. \n";
return array();
}
$dnl=$d->getElementsByTagName("a");
if($dnl->length===0)
{
return array();
}
for($i=0;$i<=$dnl->length;$i++)
{
$current=$dnl->item($i);
if($current===null)
{
continue;
}
$elem=$current;
if($elem->hasAttribute("href"))
{
array_push($links,$UrlFinale.$elem->getAttribute("href"));
}
}
print_r( $links);

?>
0