Récuperation des liens trouvés par google

Résolu
jabs123 Messages postés 19 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 6 juillet 2007 - 3 janv. 2007 à 12:37
vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 - 5 janv. 2007 à 13:44
Salut tout le monde,

Avez vous une idée si on veut récuperer tout les liens trouvé par google lors d'un recherche d'un mot clé donné.

J'utilise l'outils phpdig pour parcourir la page mais je n'obtient aucun lien.

Mon but est de recenser tout les liens trouvé par google sur un mot clé donné.


Merci.

JabsDev

13 réponses

vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
3 janv. 2007 à 22:17
Saell og blesuð

<ol>
<?phpfunction strip_selected_tags($str, $tags "", $stripContent false){
    preg_match_all("/<([^>]+)>/i",$tags,$allTags,PREG_PATTERN_ORDER);
    foreach ($allTags[1] as $tag){
        if ($stripContent) {
            $str = preg_replace("/<".$tag."[^>]*>.*<\/".$tag.">/iU","",$str);
        }
    $str = preg_replace("/<\/?".$tag."[^>]*>/iU","",$str);
    }
    return $str;
}

$request="php expression reguliere";
$nb_result="15"; //MAXIMUM 100

$handle = fopen("http://www.google.fr/search?hl=fr&q=".urlencode($request)."&num=".$nb_result."&btnG=Recherche+Google&meta=", "rb");

$contents = '';
while (!feof($handle)) {
  $contents .= fread($handle, 8192);
}
fclose($handle);

$motif_link='``';
$motif_describe='`<td class=j(.+?)</td>`';

preg_match_all($motif_link,$contents,$out_link);
preg_match_all($motif_describe,$contents,$out_describe);

$count=count($out_link[0]);
for($i=0;$i<$count;$i++){
    $link=strip_selected_tags($out_link[0][$i],'');
    $link=str_replace('class=l ','',$link);
    $describe=str_replace('> - <','><',$out_describe[0][$i]);
    $describe=strip_selected_tags($describe,'<nobr>',true);
    $describe=strip_selected_tags($describe,'<td>
');
    echo '<li>',$link,"
\r\n",$describe,"</li>
\r\n";
}
?>
</ol>


Vilhjálms
Sigurðsdóttir aka Frëyjá
3
vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
4 janv. 2007 à 08:40
Saell og blesud

Google refusera de renvoyer plus de 100 résultats par page cependant vous pouvez modifier l'URL afin de démarrer l'affichage des résultats à partir du résultat x (100 par exemple) comme ceci :

http://www.google.fr/search?q=toto&num=100&hl=fr&lr=&start=100&sa=N

il ne reste plus cas reparser le résultat. Cependant méfiance au time_limit.

Vilhjálms
Sigurðsdóttir aka Frëyjá
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 janv. 2007 à 13:40
Salut,

avec l'API google (si toutefois elle existe encore) ça sera plus simple, sinon tu fais un fsockopen() sur la page de résultats et puis un preg_match_all() avec une expression régulière.

a +
0
jabs123 Messages postés 19 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 6 juillet 2007
3 janv. 2007 à 15:10
Merci Anthomicro,
Mais le problème c'est que je ne voit même pas les liens dans le code source de la page reésultats
JabsDev
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 janv. 2007 à 19:12
Heu, si ce sont des liens y'a forcément des <a href quelque part, sinon là je pense que j'ai loupé un truc XD
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 janv. 2007 à 19:13
Heu, si ce sont des liens y'a forcément des <a href quelque part, sinon là je pense que j'ai loupé un truc XD
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 janv. 2007 à 19:21
Heu, si ce sont des liens y'a forcément des <a href quelque part, sinon là je pense que j'ai loupé un truc XD
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 janv. 2007 à 22:56
Je me disais bien que ce boulet de sjon l'avait pompé quelque part son code, en l'occurence ici :

http://fr.php.net/strip-tags
0
jabs123 Messages postés 19 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 6 juillet 2007
4 janv. 2007 à 08:12
Génial, merci beaucoup vilhjalms et Anthomicro ainsi que les autres.
Par contre ,est ce que c'est possible d'avoir tous les résultat ( +de 100 ) ?
je suis en train de manipuler le lien renvoyé par google dans:
fopen("http://www.google.fr/search?hl=fr&q=".urlencode($request)."&num=".$nb_result."&btnG=Recherche+Google&meta=",
"rb");

JabsDev
0
jabs123 Messages postés 19 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 6 juillet 2007
4 janv. 2007 à 09:56
Merci beaucoup vilhjalms,
vous m'avez sauver la vie, 
Merci infiniment

JabsDev
0
vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
4 janv. 2007 à 10:31
Saell og blesuð

De rien. Pouvez vous valider les réponses qui vous ont aidé en cliquant sur réponse acceptée sur chacune d'elle ?


Vilhjálms
Sigurðsdóttir aka Frëyjá
0
jabs123 Messages postés 19 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 6 juillet 2007
5 janv. 2007 à 10:42
Re-Salut tout le monde.
Je peux récupérer maintenant les liens trouvés par google ( tous ) par contre je constate que google ne renvoye que 1000 résultats.
Est-ce qu'il y a des moyens de récuperer tous les resultats (liens) trouvés par google ?

JabsDev
0
vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
5 janv. 2007 à 13:44
Saell og blesuð


Il semblerait que non cependant récupérer les
51 100 000
résultats de "toto" par exemple je n'en vois pas l'intérêt. Voir peut
être au niveau des api Google notament la
Google AJAX Search API

ici : http://code.google.com/apis/ajaxsearch/ mais bon je n'y crois pas trop.







Vilhjálms
Sigurðsdóttir aka Frëyjá
0
Rejoignez-nous