Récupérer automatiquement les balises métas description

WRInaute impliqué
Bonjour,

Sur le site de mon profil il y a un répertoire. Ce répertoire ne comprend qu'une liste de nom de sites, avec un lien vers leurs pages d'accueil, ou d'autres liens vers des pages précises de leurs contenus respectifs.

- Problème : Il me manque une description pour chacun de ces sites.
- Solution: récupérer la balise méta description de la page d'accueil de chacun des sites répertoriés.

- Autre problème : il y a quand même beaucoup de sites répertoriés, je ne vais donc pas passer des jours à tous les visiter et à copier coller leurs balises méta.
- Solution: récupérer automatiquement les balises métas description de chaque site et les inclure dans la base de donnée.
Vous savez, comme lorsque l'on s'inscrit sur certains annuaire gratuit : la partie "décrivez votre site internet" se remplit automatiquement avec la balise meta description de notre site. Vous avez déjà dû voir cela.


Mais alors là je ne vois vraiment comment faire, donc je viens chercher vos lumières.
 
WRInaute discret
si tu utilises php, ouvre les pages en question, puis récupères les valeurs de <meta name="description" content="(.*)"> avec une fonction genre eregi.

Prévoit <meta content="(.*)" name="description">, et aussi avec les simple quotes etc...

C'est le genre de truc pour lequel t dois pouvoir trouver quelque chose de déjà fait sinon, il va faloir t'y prendre de cette manière je pense.
 
WRInaute impliqué
si tu utilises php, ouvre les pages en question
Que veux-tu dire par "ouvres les pages php" ?


Ce que tu suggères c'est en fait de lire toute la page et d'en extraire avec eregi la chaine de caractères comprise spécifiquement dans la balise méta description ?


Pour ce qui est de trouver un script tout fait, j'ai effectué pas mal de recherche sur google. Je n'ai rien trouvé.
Aurais-tu une idée des requêtes à tapper ?
 
WRInaute discret
psychoreflex a dit:
Que veux-tu dire par "ouvres les pages php" ?

En utilisant la fonction file() par exemple

psychoreflex a dit:
Ce que tu suggères c'est en fait de lire toute la page et d'en extraire avec eregi la chaine de caractères comprise spécifiquement dans la balise méta description ?

Exactement, description et mots clefs plus particulièrement :)

http://fr2.php.net/manual/fr/function.file.php
http://fr2.php.net/manual/fr/function.ereg.php

Tu ne devrais pas avoir trop de mal à faire ça :

selectionne tes url

ensuite :


Code:
//select url
$requete = mysql_query("...");

//pour chaque url
while ($url = mysql_fetch_assoc($requete)){

//on les ouvres
$lignes = file($url['URL']);

//on test chaque ligne
for($i=0;$i<=count($url);$i++){
//si on trouve
if (ereg ("<meta name="description" content="(.*)">", $lignes[$i], $regs)) {
//insert dans la base la desc :
   mysql_query("INSERT INTO TABLE (Desc) VALUES ('regs[0]')");
}
}

pareil pour keywords ...

C'est très succinct mais ca devrait te mettre sur la voie.
 
WRInaute impliqué
Ok je ne connaissais pas la fonction file, donc ça me semblait obscure.

Là c'est plus clair, je vais potasser la chose.


Merci !


**edit** on s'en sert pour quoi la plupart du temps de cette fonction file ?
 
WRInaute impliqué
Redoutablement plus simple !

Comme quoi, la théorie ça a du bon...



Je me disais bien aussi qu'il devait y avoir un truc pour récupérer cela d'un coup. Merci Nicolas :D


Et merci aussi ~hcplayer~{feh}~ qui a fait de son mieux et qui va pouvoir apprendre un truc grâce à son intérêt pour ce post :wink:
 
Discussions similaires
Haut