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 :

[pastacode lang= »php » manual= »function%20getShortInfoSite(%24url)%7B%0A%09%09%20%20%24dom%20%20%20%20%3D%20new%20DOMDocument%3B%0A%09%09%20%20%24datas%20%20%3D%20array()%3B%0A%09%09%20%20%2F%2FExtraction%20du%20domaine%0A%09%09%20%20if%20(!preg_match(%22%2F%5E(.*)%5C%3A%5C%2F%5C%2F(%5B0-9A-Za-z%5E_%5C.-%5D%7B0%2C20%7D%3F)%5C%2F%2F%22%2C%20%24url.’%2F’%2C%20%24domain))%20return%20-1%3B%0A%09%09%20%20%24url%20%3D%20%24domain%5B1%5D.’%3A%2F%2F’.%24domain%5B2%5D%3B%0A%09%09%20%20%2F%2FRecuperation%20du%20contenu%20de%20la%20page%20d’accueil%0A%09%09%20%20try%20%7B%0A%09%09%09%09%09%24html%20%3D%20%40file_get_contents(%24url)%3B%0A%09%09%09%09%09%40%24dom-%3EloadHTML(%24html)%3B%0A%09%09%09%09%09%24finder%20%3D%20new%20DomXPath(%24dom)%3B%0A%09%09%09%09%09%2F%2FRecuperation%20des%20differents%20elements%20%3A%20favicon%2C%20title%2C%20description%20…%0A%09%09%09%09%09%24icons%20%20%3D%20%24finder-%3Equery(%22%2F%2Flink%5Bcontains(%40rel%2C%20’ico’)%5D%22)%3B%0A%09%09%09%09%09%24desc%20%20%20%3D%20%24finder-%3Equery(%22%2F%2Fmeta%5Bcontains(%40name%2C%20’description’)%5D%22)%3B%0A%09%09%09%09%09%24titles%20%3D%20%24finder-%3Equery(%22%2F%2Ftitle%22)%3B%0A%09%09%09%09%09%24datas%5B’url’%5D%20%20%20%20%20%20%20%20%20%20%20%3D%20%24url%3B%0A%09%09%09%09%09%24datas%5B’icon’%5D%20%20%20%20%20%20%20%20%20%20%3D%20%40%24icons%5B0%5D-%3EgetAttribute(‘href’)%3B%0A%09%09%09%09%09%24datas%5B’title’%5D%20%20%20%20%20%20%20%20%20%3D%20%40%24titles%5B0%5D-%3EnodeValue%3B%0A%09%09%09%09%09%24datas%5B’domain’%5D%20%20%20%20%20%20%20%20%3D%20%24domain%5B1%5D%3B%0A%09%09%09%09%09%24datas%5B’description’%5D%20%20%20%3D%20%40%24desc%5B0%5D-%3EgetAttribute(‘content’)%3B%0A%09%09%09%09%09return%20%24datas%3B%0A%09%09%20%20%7D%0A%09%09%20%20catch(Exception%20%24e)%7B%0A%09%09%09%09%20%20return%20%24e%3B%0A%09%09%20%20%7D%0A%7D%0A » message= » » highlight= » » provider= »manual »/]

 

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