[Crawler] Récupérer en PHP, les informations minimales d’un site internet en PHP
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à :

Dyrk.org