Dyrk.org
Do You Really Know

[Crawler] Récupérer en PHP, les informations minimales d’un site internet en PHP

Publié le 1 août 2016 par #Ro0t

understand-how-does-web-crawler-work

 

Salut à tous,

 

Je ne serais pas très très long aujourd’hui, mais j’aimerais vous partager ce petit bout de code, que j’ai réalisé pour répondre à un besoin simple, mais nécessaire.

 

Avec ce petit bout de code, vous aurez la possibilité de récupérer assez simplement les données  d’un site internet :

  • Nom du site
  • Description du site
  • Icone du site
  • Nom de domaine

 

Pour cela, rien de plus simple :

function getShortInfoSite($url){
$dom = new DOMDocument;
$datas = array();
//Extraction du domaine
if (!preg_match("/^(.*)\:\/\/([0-9A-Za-z^_\.-]{0,20}?)\//", $url.'/', $domain)) return -1;
$url = $domain[1].'://'.$domain[2];
//Recuperation du contenu de la page d'accueil
try {
$html = @file_get_contents($url);
@$dom->loadHTML($html);
$finder = new DomXPath($dom);
//Recuperation des differents elements : favicon, title, description ...
$icons = $finder->query("//link[contains(@rel, 'ico')]");
$desc = $finder->query("//meta[contains(@name, 'description')]");
$titles = $finder->query("//title");
$datas['url'] = $url;
$datas['icon'] = @$icons[0]->getAttribute('href');
$datas['title'] = @$titles[0]->nodeValue;
$datas['domain'] = $domain[1];
$datas['description'] = @$desc[0]->getAttribute('content');
return $datas;
}
catch(Exception $e){
return $e;
}
}

 

Vous incluez cette fonction PHP dans votre code, puis vous l’appelez de cette manière :

getShortInfoSite(« http://dyrk.org/indexi22.php« )

 

Voilà, vous pourrez désormais récupérer un joli tableau dans ce goût-là :

Capture