fonction php d extraction de lien d une page
18 messages
• Page 1 sur 2 • 1, 2
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
- pedouille
- WRInaute discret

- Messages: 85
- Inscription: 24 Mai 2005
extraire les liens ?
Tu veut une fonction qui te recense les liens "<A HREF='.... " présent sur une page donnée ?
Je ne crois pas qu'il existe de fonction préprogrammé, va falloir que tu te la fasse toi même. Mais sache que c'est possible, et que ça s'apelle un robot.
Si j'ai bien compris ta demande ...
Tu veut une fonction qui te recense les liens "<A HREF='.... " présent sur une page donnée ?
Je ne crois pas qu'il existe de fonction préprogrammé, va falloir que tu te la fasse toi même. Mais sache que c'est possible, et que ça s'apelle un robot.
Si j'ai bien compris ta demande ...
- pedouille
- WRInaute discret

- Messages: 85
- Inscription: 24 Mai 2005
C un peu compliqué. Pense tout de suite à passer à LINUX, car sous Windows, je ne vois pas comment on pourrait faire
Premièrement, il faut arriver à récupérer une page depuis internet à partir de son URL. Aucune fonction en PHP ne fait ça. Mais on dispose de la fonction shell_exec() qui retourne le résultat d'une commande effectuée dans le shell Linux.
Exemple : $monfichier=shell_exec("cat mon_fichier.txt");
la variable $monfichier contiendra le contenu de ton fichier.
De même, il existe des commande sous linux (wget) qui permettent de récupérer le code HTML d'une page à partir de l'URL. Il devient donc facile de récupérer le code HTML d'une page dans PHP.
ensuite, avec les fonctions sur les chaines de PHP, tu doit pouvoir extraire toutes les informations qui te sont necéssaires...
Avec ces quelques noms, tu devrais pouvoir te renseigner sur la façon dont ça fonctionne. Apprend à utiliser Linux et particulièrement le bash, car sous Windows, il n'y a aucun outils viable, aucune fonction pertinente </troll>
J'espère t'avoir aider...
PS: n'oublie que le spam, c'est pas classe !
Premièrement, il faut arriver à récupérer une page depuis internet à partir de son URL. Aucune fonction en PHP ne fait ça. Mais on dispose de la fonction shell_exec() qui retourne le résultat d'une commande effectuée dans le shell Linux.
Exemple : $monfichier=shell_exec("cat mon_fichier.txt");
la variable $monfichier contiendra le contenu de ton fichier.
De même, il existe des commande sous linux (wget) qui permettent de récupérer le code HTML d'une page à partir de l'URL. Il devient donc facile de récupérer le code HTML d'une page dans PHP.
ensuite, avec les fonctions sur les chaines de PHP, tu doit pouvoir extraire toutes les informations qui te sont necéssaires...
Avec ces quelques noms, tu devrais pouvoir te renseigner sur la façon dont ça fonctionne. Apprend à utiliser Linux et particulièrement le bash, car sous Windows, il n'y a aucun outils viable, aucune fonction pertinente </troll>
J'espère t'avoir aider...
PS: n'oublie que le spam, c'est pas classe !
- shrom
- WRInaute impliqué

- Messages: 865
- Inscription: 5 Juil 2004
pedouille a écrit:Premièrement, il faut arriver à récupérer une page depuis internet à partir de son URL. Aucune fonction en PHP ne fait ça. Mais on dispose de la fonction shell_exec() qui retourne le résultat d'une commande effectuée dans le shell Linux.
Ah bon !!
Au hasard fopen("http://......").
On a aussi toutes les fonctions curl, et si on a le courage fsockopen.
- lesbonsplansdesophie
- WRInaute impliqué

- Messages: 523
- Inscription: 1 Mar 2004
pedouille a écrit:C un peu compliqué (...)
Premièrement, il faut arriver à récupérer une page depuis internet à partir de son URL. Aucune fonction en PHP ne fait ça.
Gni
- Code: Tout sélectionner
$fp=fopen("http://www.site.com/","r");
while(!feof($fp))
{
$fichier_texte=fgets($fp,1024);
if (ereg("href='(.*)'",$fichier_texte,$result)) {
echo $result[0]."<br>";
}
}
Grosso modo ca devrait marcher. Avant de dire "je ne sais pas faire" il faut un peu chercher - ras le bol des feignants qui ne savent pas se débrouiller un minimum par eux meme.
PS: 5 minutes avant de lire ta question je ne savais pas y répondre - a ton avis comment m'y suis-je pris ?
-

hipopulation - WRInaute occasionnel

- Messages: 346
- Inscription: 28 Juil 2004
Comment ça se la pete, tout le monde n'a pas le même niveau et sache que c'est cool de ta part de l'avoir aidé... après pas la peine d'en faire un fromage et de le traiter de faignant.....
- lesbonsplansdesophie
- WRInaute impliqué

- Messages: 523
- Inscription: 1 Mar 2004
Je n'ai pas envie de troller.... mais en general quand on cherche on trouve. Desole d'avoir ete un peu reactif.
PS: Je venais juste de lire le post de celui qui voudrait qu'on lui dise comment faire un espace membre en php alors ceci explique cela... pourquoi pas un site e-commerce tant qu'on y est...
PS: Je venais juste de lire le post de celui qui voudrait qu'on lui dise comment faire un espace membre en php alors ceci explique cela... pourquoi pas un site e-commerce tant qu'on y est...
- pedouille
- WRInaute discret

- Messages: 85
- Inscription: 24 Mai 2005
Faut se détendre les gars .
C dommage de se facher comme ça
Il ne sait pas par quelle bout commencer, c tout.
Le mieux c'est que chacun apporte sa réponse, comme ça il pourra piocher dans ce qu'il veut, et ça peut servir à d'autre.
Et je suis désolé de m'être mal exprimé. Je suis parti du principe qu'il cherche à faire un robot, et c'est pour ça que je lui conseille le bash. Je ne suis pas sur que la fonction fopen permettent de gérer le user-agent, et encore moins les problèmes de timeout.
J'ai encore une autre solution si vous voulez : tu ouvre la page avec ton navigateur, tu fait afficher le code source, tu récupère (CTRL-C CTRL-V) le code source et tu le met dans un fichier texte, puis tu le lit avec PHP....
Tout ça pour dire que des solutions simplistes, il en existe plein, ça marche avec 2 ou 3 sites, pi au 4eme, on en a marre...
Ne vaut-il pas mieux chercher une solution élaborée et efficace ? quitte à y passer plus de temps ?
Alors toi qui traite les gens de fainéants, n'est-ce pas une forme de fainéantise que de répondre la première fonction (qui est aussi la plus simple) qui te passe par la tête (ou par le clavier), plutôt que de chercher quel est le vrai problème, et une solution viable qui va avec...
Car je pense que pour faire un robot avec fopen, il va falloir méchament bricoler ...
C dommage de se facher comme ça
Il ne sait pas par quelle bout commencer, c tout.
Le mieux c'est que chacun apporte sa réponse, comme ça il pourra piocher dans ce qu'il veut, et ça peut servir à d'autre.
Et je suis désolé de m'être mal exprimé. Je suis parti du principe qu'il cherche à faire un robot, et c'est pour ça que je lui conseille le bash. Je ne suis pas sur que la fonction fopen permettent de gérer le user-agent, et encore moins les problèmes de timeout.
J'ai encore une autre solution si vous voulez : tu ouvre la page avec ton navigateur, tu fait afficher le code source, tu récupère (CTRL-C CTRL-V) le code source et tu le met dans un fichier texte, puis tu le lit avec PHP....
Tout ça pour dire que des solutions simplistes, il en existe plein, ça marche avec 2 ou 3 sites, pi au 4eme, on en a marre...
Ne vaut-il pas mieux chercher une solution élaborée et efficace ? quitte à y passer plus de temps ?
Alors toi qui traite les gens de fainéants, n'est-ce pas une forme de fainéantise que de répondre la première fonction (qui est aussi la plus simple) qui te passe par la tête (ou par le clavier), plutôt que de chercher quel est le vrai problème, et une solution viable qui va avec...
Car je pense que pour faire un robot avec fopen, il va falloir méchament bricoler ...
- lesbonsplansdesophie
- WRInaute impliqué

- Messages: 523
- Inscription: 1 Mar 2004
Effectivement si la question était "comment programmer le nouveau google ?" je suis trop feignant pour y répondre...
Pour etre plus constructif en effet si tu veux faire un vrai robot alors il va falloir mettre les mains dans le camboui, peut-etre faire un peu de CURL etc. mais bon, mieux vaut commencer par la base a mon sens (et clairement quand la question est "y a t'il une fonction en php qui permette de recuperer les url d'une page" il vaut mieux partir du plus simple...)
Mes 2 cents
Pour etre plus constructif en effet si tu veux faire un vrai robot alors il va falloir mettre les mains dans le camboui, peut-etre faire un peu de CURL etc. mais bon, mieux vaut commencer par la base a mon sens (et clairement quand la question est "y a t'il une fonction en php qui permette de recuperer les url d'une page" il vaut mieux partir du plus simple...)
Mes 2 cents
-

mowmow - WRInaute impliqué

- Messages: 975
- Inscription: 3 Nov 2004
Cool les mecs !
fr.php.net/file_get_contents (beaucoup plus simple que tout un script avec feof, fopen tout le bazar
et ensuite : preg_match_all, je te donnerais mon code pour extraire tous les liens, je l'ai utilisé pour ggposition, ce soir tu l'auras
[edit]Ah bah non tout de suite ^^ :
Et voilà tu as tous tes liens dans $enregistre_liens
fr.php.net/file_get_contents (beaucoup plus simple que tout un script avec feof, fopen tout le bazar
et ensuite : preg_match_all, je te donnerais mon code pour extraire tous les liens, je l'ai utilisé pour ggposition, ce soir tu l'auras
[edit]Ah bah non tout de suite ^^ :
- Code: Tout sélectionner
preg_match_all('/a href=http:\/\/?[^> ]+/i',$content,$lnk);
$size = sizeof($lnk[0]);
$i = 0;
while ($i < $size) {
$link = str_replace('a href=', '', $lnk[0][$i]);
$enregistre_liens[] = $link;
Et voilà tu as tous tes liens dans $enregistre_liens
-

mowmow - WRInaute impliqué

- Messages: 975
- Inscription: 3 Nov 2004
ERF desole je croyais que tu voulais choper tous les liens dans une page
Mes a coule pas desole
http://fr.php.net/preg_match y'a ce que tu cherches ici
Mes a coule pas desole
http://fr.php.net/preg_match y'a ce que tu cherches ici
18 messages
• Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Gérer l'entête HTTP en PHP - 04-08-2008
- Google propose le lien Votre publicité sur ce site dans AdSense - 23-11-2005
- Référencer un site multilingue - 24-04-2004
- Aperçu des différents types de redirection - 04-08-2008
- Participez au projet 3x3 ! - 19-07-2004
- Le PHP et le référencement - 28-07-2003
- Transformer de simples citations en liens - 21-06-2006
- Développez les échanges de liens facilement ! - 28-07-2002
Consultez la description détaillée des produits ou services de Google suivants : Google Related Links
- Test de lien (type de redirection)
Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs). - Calcul du taux de liens vers des pages internes
Cet outil vous permet de calculer le taux de liens profonds vers un site web. Un lien profond est un lien qui ne pointe pas vers la page d'accueil mais au contraire vers une page interne du site. Les sites dont l'essentiel du référencement vient de leurs inscriptions dans des annuaires ont un taux de liens profonds faible ; à l'inverse, les sites de référence ont souvent un taux de liens profonds plus important, signe que leur contenu a suscité de nombreux liens spontanés. - Recherche de citations d'un site en texte brut
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
