Récuperer tags page web à la manière google

Mig

Nouveau WRInaute
Salut,

Je ne suis pas sur que ce topic soit bien dans le bon forum, si c'est le cas veuillez m'en escuser...

Je cherche à récuper avec l'aide d'un formulaire (en entrant donc l'adresse du site web) les informations du style : titre, mots clés et description d'une page, histoire de pouvoir mettre en place une interface d'echange de liens pratique sur ma page...

J'ai pu voir que ca se faisait sur certains sites mais n'ai trouvé aucun code sur le net...Donc si quelqu'un a une piste ca serait cool (j'utilise php et pas asp)

Merci d'avance
 

Bobez

WRInaute impliqué
Il existe une fonction faite pour cela: get_meta_tags()
Exemple:

Code:
$meta = get_meta_tags($url);
echo $meta['description'].'<br />';
echo $meta['keywords'];

À noter que cela fonctionne pour toutes les autres balises meta. Si une balise n'est pas présente, la valeur retournée vide :wink:
 

Mig

Nouveau WRInaute
Merci beaucoup Bobez, j'ai utliliser la fonction fopen en plus pour le titre et tout tourne niquel, merci encore :wink:
 

atuvu

Nouveau WRInaute
Bonjour,

Ce post m'interesse car je suis en pleine bidouille avec fopen, je voudrais d'extraire tous les liens d'une page, voici une partie du code :

// donne tous les liens qui commencent par http
$lien="/href=\"http(.*?)\"/si";
preg_match_all($lien,$texte,$matches);
printf("Output of URLs %d URLs<P>\n", sizeof($matches[0]));
foreach ($matches[0] as $u) {
$link = $PHP_SELF . '?url=' . urlencode($u);
echo "<A HREF='$link'>$u</A><BR>\n";

Mon probleme c'est que si les liens ne commencent pas par http alors ils ne sont pas affichés et si dans $lien et j'enleve http dans $lien alors tous les liens ne sont plus valides quand on clique dessus ( les liens sans le domaine devant )

Comment je peux faire sortir tous les liens d'une page aspirée avec fopen avec http://nomdedomaine.com devant meme si ca n'y est pas dans la chaine aspiree ? Je sais pas si je m'exprime bien :oops:
 

Oncle Tom

WRInaute impliqué
atuvu a dit:
Oui tout a fait :roll:
Faut pas m'en vouloir, chuis blonde :twisted:

Hm ben dans ce cas faudrait ptete le faire en 2 étapes.
1: celle que tu fais
2: ajouter un autre preg_match_all() qui repère les liens ne commençant pas par http:// et appliquant une fonction de callback pour reconstruire l'URL en absolue (parce qu'après faut voir si tu veux gérer les '..' dans les URL) etc.

Après tu fusionnes tes tableaux (array_merge()) et voilou.
 

atuvu

Nouveau WRInaute
Oui merci pour ta reponse, arf pour une blonde t' tres forte :) En effet je pourrais creer une fonction "callback" et fusionner, c'est la piste que j'ai pris dans un second temps mais pas evident de faire cette fonction et les chemins de certains liens dans les annu/repertoires mylinea me donnent pleins d'erreurs ...

Dire que lorsqu'on enregistre une page web sur son pc il n'y a pas tous ces problemes de chemins, ca re-ecrit les liens avec le domaine d'origine, je me demandais si il n'existait pas une fonction php du genre de fopen et qui m'enregistrerait la page avec les liens que je veux sans avoir a passer par cette fonction qui pour moi est trop compliquee a ecrire, remarque chui a moitié blond ca se comprend :lol:
 

Discussions similaires

Haut