Connaître son positionnement sur ses mots-clés

WRInaute occasionnel
J'ai bricolé un petit script php pour connaitre son positionnement dans GG. Il n'utilise pas l'api donc ces résultats sont cohérant avec le moteur.

Si ce programme intéresse des gens, je pourrait essayer de faire ca avec des stats dans le temps par exemple, les resultats par mail...
enfin bon plein d'options quoi :)

http://www.afterdreams.com/gg-keys-words/


Bon il faut que j'aille dormir si je veux que le père noel puisse passer ! :)
 
WRInaute accro
Ca fait peur la page qui charge longtemps... faudrait un truc pour faire attendre, genre les positions qui defilent ^^.
 
WRInaute discret
bin ça peut m'intéresser, mais pourquoi il est cohérent puisqu'il utilise pas l'api ? si jamais gg change son formulaire le programme risque de ne plus fonctionner.

allez, pour noël, je donne l'adresse de mon annuaire h**p://annuaire.level141.com pour ceux qui seront inscrits il y aura aussi un prog (qui fonctionne avec l'api) pour connaître le positionnement.

@+ et Noyeux Joël
 
WRInaute occasionnel
Si gg change, jadapte :) la mise a jour et pas difficile vu que c'est sur le site. Pour le tps de chargement, c'est vrai qu'il peut etre long si l'on n'est pas présent dans les premieres pages :)
 
WRInaute discret
mrik

Très bien bien votre annuaire, avez-vous fait la programmation vous même?
Je suis à la recherche d'un bon script, présentement j'utilise Biz Directory, mais je trouve le vôtre intéressant.
 
WRInaute occasionnel
Il y a des logiciels payants, qui semble faire la meme chose : yooda
Comment font t'ils pour etre legal?

MagicienHumoriste >> merci de ne pas devier mon sujet :) Tu devrais lui envoyer un mp pour ce genre de question...
 
WRInaute occasionnel
Oui tu as raison, mais la différence réside dans le fait que yooda fait ses requêtes google une fois pour toutes, enregistre les infos qui l'intéressent dans sa propore BDD et les mets à disposition pour les utilisateurs.
Alors que ta fonctionnalité fait une requête google à chaque utilisation. Tu utilises leur base de données avec ta propore mise en page.
 
WRInaute discret
Salut,

comment tu manipule la page (en php) pour en déduire le numéro de la place ? (si c'est pas trop indiscret !) sur quoi tu discrimine ? (ça me fera gagner du temps !) :roll:
 
WRInaute occasionnel
Sietjp >> Ils la font une fois pour toute, mais sur 40 000 mots et 3 pages,
ce qui fs pour eux aussi beaucoup de requetes :) Si il veulent etre pertinent il faut réactualiser cette "base" tout les jours ou tt les deux jours, donc je pense que aussi prennent bcp de ressources ...
Comme eux, je resort juste un positionnement, pas de données style url ou autre...


varioflux >>> Sur quoi ca te fera gagner du temps?
 
WRInaute discret
Ben, sur ton idée j'ai passé ma journée à me bricoler un petit outil similaire. A titre documentaire, ça m'oblige à apprendre...

Je récupère bien les pages. Je m'amuse à aller récupérer le nombre de résultats sur un mot-clef, par exemple, directement dans une variable INT pour des éventuels calculs, mais je vois pas trop comment je pourrais "simplement" déduire la position d'un site au sein de la page résultat, vu qu'il y a des variantes de présentation, des décalages.

Mais je dis ça, je n'ai pas regardé le sourcé envoyé par Google...

Mon idée, c'est d'enregistrer les requetes générées dans une table MySql, puis les résultats dans une autre, afin de me faire un petit système de stats perso pour mes sites, avec courbe de positionnement, par exemple, ou bien tout ce que l'on peut imaginer de déduire des divers résultats...

Mais ça commence par correctement extraire les résultats de positionnement de la page annuaire.
 
WRInaute occasionnel
Et bien voit la source renvoyer par google, reperer les liens a linterieur est un jeu d'enfant :)

Sinon les stats jours apres jour c'est aussi ce que je veux faire pour mon script...
 
WRInaute discret
personellemnent mon programme ce base sur les lien ecrit en vert ;) dc je repere tout les lien ecrit en vert , les ajoute ds un ptit txt , et test chak ligne pour savoir si c le text recherche :D en gros c sa ^^ YvesB fait pareil je supose ? y a plus simple ?
 
WRInaute discret
Il n'y a pas toujours le résultat en vert. Exemple :
h--p://www.google.fr/search?q=dressage+chien&hl=fr&lr=&newwindow=1&start=90&sa=N

Où une ligne apparait tel quel :
"www.l-internet-facile.com/moteur.php?z=lorraine%20animaux%20chien%20dressage&action=annuaire&cmh=0&cmot=1Pages similaires"
sans rien de plus...
 
WRInaute occasionnel
j'ai retiré le programme, en effet, il semble que GG modifit légerement les résultats par cette methode rendant le classement inexploitable. Je prefere verifier cela. Si quelqu'un a deja eu un probleme dans ce genre ca serait cool de m'eclairer ...

++
 
WRInaute occasionnel
Apres verifications, je suis désormai sur : Google change ses résultats si on lui ouvrent les pages en fopen().

il ne nous empeche pas de l'ouvrir, il ne bannis pas notre ip, non, répond juste faux !

Décidément, le grand G m'etonnera toujours !
 
WRInaute occasionnel
Etonnant ... Et bien donc c a toi que reviens le tache de creer un prog qui verifie chaque jour le positionnement de nos mots clés !

De mon coté, je suis bien decu davoir passé autant de temps a faire ce script ...


Enfin je serais toi je verifirais bien la pertinence des résultats car j'ai mi du temps a m'en apercevoir
 
Nouveau WRInaute
Bonjour,

Préviens nous lorsque le programme sera de nouveau en ligne, si tu trouves une solution au problème évoqué.

Florian
 
WRInaute discret
Ben moi, pour l'instant, je ne pense pas que GG change les résultats : il changent d'eux même tout seul à chaque instant... C'est la méthode de pioche dans les pages qui doit être affinée... par des boucles for ou while, selon les cas.

Voilà où j'en suis :
1) Chercher <div>
2) pour le nombre de type de requetes (web/franco/france)
3) pour le nombre de pages
4) isoler les paragraphes commençant par <p class=g> et se terminant par </table>...
5) isoler les champs interessants

Je n'ai pas encore trouvé de page me permettant d'infirmer ceci...
Mais je charge tout dans des tables en mémoire, je n'écris pas au fur et à mesure dans un txt, ce qui me permet de ne pas oublier les itérations précédentes...
 
WRInaute discret
Et d'autant que la position est directement dans :
return clk(this,'res',XX)

XX étant le numéro de la position par rapport à la requete !
Bien la peine de réinventer la roue !
 
WRInaute discret
return clk(this,'res',XX)

Je ne comprenais pas pourquoi je n'arrivais pas à retrouver ces liens dans mes pages chargées alors qu'ils y sont dans les pages visibles...

Google ne manipule pas les résultats à cause du fopen (je ne pense pas qu'il puisse voir la différence avec un accès autre, c'est du http) mais il envoie des résultats qui tiennent compte des caractéristiques du brouteur utilisé.

Après tout : nous faisons tous de même, pas d'envoi de flash si support non détecté (par exemple), et Google n'envoie pas les liens javascript si le brouteur n'en semble pas capable... Ce qui explique les subtiles différences...

Quelqu'un sait comment manipuler ces caractéristiques ?
Il doit forcément y avoir un moyen de se faire passer pour un simple explorateur, non ?
 
WRInaute impliqué
de toute manière google déconseille dans ses règles de chercher dans les résultats avec des taches automatisées.
pour cela il a mis à disposition l'api justement.
attention à ne pas se faire sanctionner en employant des taches qui demandent trop de ressources au moteur.
 
WRInaute occasionnel
Caro le prob de l'api est que les resultats sont differents, donc inexpoiltable. sinon on ne ce casserait pas la tete a faire des fopen sur le google !
 
WRInaute occasionnel
si la version "legal" de recuperation d'info etait suffisante, on se "casserait pas la tete" a passer par le site de google.
 
Nouveau WRInaute
Arrete de te casser la tete alors.
Voila une piste. ;-)
Code:
    $url = "https://www.google.fr/";
		$myUserAgent->get($url);
		$myUserAgent->follow_link( url_regex => qr/preferences/i );

    $myUserAgent->submit_form(
        fields      => {
            num    => '100',
        }
    );

		
		@forms=$myUserAgent->forms();
    $myUserAgent->submit_form(
        fields      => {
            q    => $keyword,
            meta    => 'Pages francophones',
            
        }
    );

		$content = $myUserAgent->content();
		$root    = HTML::TreeBuilder->new_from_content($content);

		# recherche des resultats <p class="g">
    my @results_p = $root->look_down( '_tag', 'p', 'class', 'g' );
    
    
    $counter=0;
    foreach $result (@results_p) 
    {
    	$counter++;
    	$node_link=$result->look_down( '_tag', 'a');
    	$url= $node_link->attr('href');
      if ( index( $url,$site ) >=0 )
      {
      	last;
      }
    }
    
    if ( $counter !=0 && $counter !=100)
    {
 		    print "Le site $site a ete trouvé pour la recherche $keyword à la position $counter \navec l'url : $url\n";
		}
 
WRInaute impliqué
ce n'était qu'un conseil :cry:
on a déjà vu des sites se faire blacklister par google pour avoir mis des taches automatisés et pris trop de ressources sur les serveur.
 
Nouveau WRInaute
caro a dit:
ce n'était qu'un conseil :cry:
on a déjà vu des sites se faire blacklister par google pour avoir mis des taches automatisés et pris trop de ressources sur les serveur.
J'en suis persuadé et c'est pour ca que je me contente du service digital point qui utilise l'api google et qu'il manque la premiere ligne au script ci-dessus pour etre fonctionnel ;-).
Pour le "fun" vu cette discussion, j'ai complete neanmoins ce script perl en stockant l'historique des resultats dans une base sqlite. Ca va tout de meme beaucoup plus vite que par l'API et genere beaucoup moins de "requetes" que d'appels soap à Google.
Pour un usage perso en restant en dessous des 50 requetes par jour, je ne pense pas qu'il y aurait de soucis. Pour un site web offrant ce service, par contre, c'est clair que son sort serait le blacklistage tres vite...
 
WRInaute discret
ce n'était qu'un conseil
on a déjà vu des sites se faire blacklister par google pour avoir mis des taches automatisés et pris trop de ressources sur les serveur.

Pas vraiment... Ce genre de script d'usage régulier (puisque l'objet est de se faire des stats perso) n'est pas destiné à être mis en ligne...

Moi je le lance de chez moi, avec easyphp, et mon ip wanadoo change toutes les 24 heures... Alors qu'est-ce qu'ils peuvent bien blacklister ?

Je pense que cette limitation n'est valable que pour les sites en ligne, par définition !

:p
 
Discussions similaires
Haut