|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
[Attention, suivi sur fr.comp.infosystemes.www.auteurs,
en tenir compte si réponse strictement Pythonesque] Bonjour, Je souhaite faire un espèce de détecteur de référencement. En gros: - On soumet une URL, - On soumet aussi les mots-clés qu'on veut - On soumet la durée de surveillance (optionnelle) Et hop, on reçoit (régulièrement) un mail en disant qu'à telle date à telle heure le site était en telle position de tel moteur, avec telle requete de telle origine géographique. Je souhaite écrire le bouzin en Python et le mettre en GPL. 1) Je suppose de toutes façon que ça existe, mais mon but est d'avoir un rapport de la forme que je veux, je dois donc le faire moi meme. 2) Vous sauriez quels principes utilisent ce genre d'outils si vous en connaissez? Je veux dire essentiellement, moi, je me vois parser la page retournée par le moteur de recherche. C'est peut-être la mauvaise solution... 3) Des conseils?... ![]() Merci d'avance. PS: Sauriez si il existe une liste de proxies HTTP en usage non payant mais qui me permettrai de faire des requetes "comme si" on la faisait d'un certain pays? Comment en trouver (des proxies). -- Huile Essentielle de Camphre http://www.huile-camphre.fr Infogerance http://www.infogerance.us (Serveurs, Postes de travail, Développement logiciel) |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Le Tue, 22 Apr 2008 14:27:13 +0300, Mihamina Rakotomandimby
<r12y@infogerance.us> écrivait dans fr.comp.infosystemes.www.auteurs: >PS: Sauriez si il existe une liste de proxies HTTP en usage non payant >mais qui me permettrai de faire des requetes "comme si" on la faisait >d'un certain pays? Comment en trouver (des proxies). Une recherche de anonymizer devrait en trouver une bonne liste... Denis |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
Mihamina Rakotomandimby a écrit :
> 1) Je suppose de toutes façon que ça existe, mais mon but est d'avoir un > rapport de la forme que je veux, je dois donc le faire moi meme. > Ca n'existe pas tant que ça. Tu peux toujours filer ton pognon aux quelques boites qui vendent un tel outil très cher et par abonnement à l'année. Mais comme tous leurs utilisateurs sont contents, tant mieux. > 2) Vous sauriez quels principes utilisent ce genre d'outils si vous en > connaissez? Je veux dire essentiellement, moi, je me vois parser la page > retournée par le moteur de recherche. C'est peut-être la mauvaise > solution... > Il n'y a pas d'autres solutions. Google et Yahoo ont leur API (je donne l'adresse pour la clef google cat pas toujours facile à trouver : http://code.google.com/apis/base/signup.html) mais les résultats ne correspondent pas aux résultats réels, donc je ne sais pas trop à quoi ça sert. J'utilisais un petit soft (GoogleMon) qui utilise l'API Google : les résultats sont là mais mes clients ne trouvant pas les mêmes, c'était problématique. Donc j'ai crée mon truc, tout sale et, bien entendu, contraire aux règles d'utilisation Google qui ne souhaite pas que l'on parse automatiquement ses résultats. Ca marche très bien. > 3) Des conseils?... ![]() > Quelque soit la technique (DOM ou simples regexp), il faut surtout faire remonter les erreurs car le moteur peut changer son code quand ça lui chante. Pour l'instant, ça ne m'est pas arrivé avec Google depuis plusieurs mois. Si tu as 100 sites à vérifier avec 50 requêtes pour chacun sur 20 pages de résultats, soit ça te prend des heures, soit ton IP est bannie (temporairement) par Google. Pour ma part, j'ai mis un sleep aléatoire (je suis parano, j'imagine qu'ils regardent si les requêtes sont trop régulières) entre chaque demande et je colle au maximum avec une requête humaine (par ex. je ne fais pas une demande d'une page contenant 100 résultats, mais bien 10 pages de 10 résultats.) Tout cela est donc empirique, mais ça fonctionne jusqu'à maintenant. > PS: Sauriez si il existe une liste de proxies HTTP en usage non payant > mais qui me permettrai de faire des requetes "comme si" on la faisait > d'un certain pays? Comment en trouver (des proxies). > Ca c'est pas dur, mais je ne connais pas de solutions légales :/ On ne peut pas se restreindre à un pays avec Tor par hasard ? |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
Salut,
Le Tue, 22 Apr 2008 14:27:13 +0300, Mihamina Rakotomandimby a écrit ce message ( <fuki34$12i3$1@cabale.usenet-fr.net> ): > Bonjour, > Je souhaite faire un espèce de détecteur de référencement. En gros: - On > soumet une URL, Tu peux contacter celui qui a fait goldorank si tu as besoin d'aide : http://www.websiteburo.com/goldorank/index_fr.php Stéphane -- Pour moi, une seule chose est claire. Avant d'effectuer toute modification des règles, il faut définir des règles de modification des règles. -+- TM in: Guide du Cabaliste Usenet - Usenet a-t-il ses règles ? -+- |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
Olivier Masson <sisemen@laposte.net> wrote :
> Ca n'existe pas tant que ça. Tu peux toujours filer ton pognon aux > quelques boites qui vendent un tel outil très cher et par > abonnement à l'année. Mais comme tous leurs utilisateurs sont > contents, tant mieux. Oui et pour cause, il y a le matraquage publicitaire qui va bien en faveur de ces outils sur nombre de sites francophones consacrés au référencement. Un outil dont on parle très peu (et pour cause) sur les sites français : webceo. Il existe une version gratuite depuis des années et du temps où je m'en servais, ça fonctionnait bien. > Pour ma part, j'ai mis un sleep aléatoire (je suis parano, > j'imagine qu'ils regardent si les requêtes sont trop régulières) > entre chaque demande et je colle au maximum avec une requête > humaine (par ex. je ne fais pas une demande d'une page contenant > 100 résultats, mais bien 10 pages de 10 résultats.) > Tout cela est donc empirique, mais ça fonctionne jusqu'à > maintenant. Et tu as bien sûr aussi fait "tourner" le user-agent ? J'ai fait la même chose sauf que j'ai perdu le script. Si tu es prêt à le diffuser, je suis preneur. -- Antoine |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
On Tue, 22 Apr 2008 14:27:13 +0300, Mihamina Rakotomandimby wrote:
> PS: Sauriez si il existe une liste de proxies HTTP en usage non payant > mais qui me permettrai de faire des requetes "comme si" on la faisait > d'un certain pays? Comment en trouver (des proxies). http://proxy.org/cgi_proxies.shtml http://www.free-proxy.fr/ http://www.tntproxy.com/ |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
Antoine a écrit :
> Oui et pour cause, il y a le matraquage publicitaire qui va bien en > faveur de ces outils sur nombre de sites francophones consacrés au > référencement. > Forums qui appartiennent parfois à ceux qui créent ces mêmes outils. > > Et tu as bien sûr aussi fait "tourner" le user-agent ? Tu veux dire modifier le user-agent à chaque requête ? Non. Je ne vois pas bien l'utilité du moment que ce dernier est correspond à un navigateur classique. Changer le UA alors que l'IP reste inchangée est un peu louche. Le mieux est l'ennemi du bien, dit-on. > > J'ai fait la même chose sauf que j'ai perdu le script. Si tu es prêt > à le diffuser, je suis preneur. > Etourdi ! Non, je ne le diffuse pas : c'est sale (je n'ai jamais appris à bien développer), je modifie la base à la main pour tout ajouter (faudrait que j'utilise un bon data grid ajax style http://www.turboajax.com/products/turbogrid/demo/ mais gratos) et si Google décide de modifier une class, plus rien ne fonctionne. Mais bon, tout n'est qu'enrobage de : preg_match('@<h2 class=r><a href="(.+)>(.+)</h2>@Uis', $this->divs[$a], $match // on veut $match[2] Dans les divs[] : preg_match_all('@<div class=g(.*)>(.+)</div>@Uis', $this->content, $reg) // on prend les $reg[2][$i]; Et le $content un bête file_get_contents précédé de header pour définir un bon UA (entre autres). Le U dans la pcre est important, sinon le . est gourmand et on récupère donc trop de choses. |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
Olivier Masson <sisemen@laposte.net> wrote :
> Antoine a écrit : > >> Oui et pour cause, il y a le matraquage publicitaire qui va bien >> en faveur de ces outils sur nombre de sites francophones >> consacrés au référencement. >> > > Forums qui appartiennent parfois à ceux qui créent ces mêmes > outils. Eh oui... >> Et tu as bien sûr aussi fait "tourner" le user-agent ? > > Tu veux dire modifier le user-agent à chaque requête ? Non. Si ; typiquement je m'étais créé un tableau d'une dizaine de UA usuels (pris dans un bête log apache) et je tirais un UA de façon aléatoire mais respectueuse des statistiques générales de navigateurs (60% de IE et variantes, 30% de FF et consorts, 10% de navigateurs exotiques). > Je ne vois pas bien l'utilité du moment que ce dernier est > correspond à un navigateur classique. Evidemment il faut faire prendre à l'UA des valeurs réalistes (cf. ci-dessus). > Changer le UA alors que l'IP reste inchangée est un peu louche. Le > mieux est l'ennemi du bien, dit-on. Plusieurs FAI font (faisaient ?) partager une même adresse IP à plusieurs clients ; AOL utilisait ce genre de proxies. Tu as aussi le cas des sociétés/organisations_en_tout_genre qui ont un point d'accès au net unique avec une IP unique et parfois plusieurs miliers d'utilisateurs derrière, pas tous équipés du même navigateur. C'est exactement le cas de la boîte qui m'emploie. >> J'ai fait la même chose sauf que j'ai perdu le script. Si tu es >> prêt à le diffuser, je suis preneur. >> > > Etourdi ! Je ne te le fais pas dire ! Je perds rarement des données ou programmes ; je m'en suis voulu sur ce coup. > Non, je ne le diffuse pas : c'est sale Pas de problème. > Mais bon, tout n'est qu'enrobage de : > > preg_match('@<h2 class=r><a href="(.+)>(.+)</h2>@Uis', > $this->divs[$a], $match // on veut $match[2] (snip) Merci pour les indications. Comme je suis à peu près nul en expressions régulières, je me souviens que je m'étais farci le traitement en strpos laborieux. > Dans les divs[] : > preg_match_all('@<div class=g(.*)>(.+)</div>@Uis', $this->content, > $reg) // on prend les $reg[2][$i]; > > Et le $content un bête file_get_contents précédé de header pour > définir un bon UA (entre autres). Et tu passes en requêtes "post" pour bien simuler un comportement humain ou tu t'autorises des "get" bruts de fonderie ? -- Antoine |
|
![]() |
| Outils de la discussion | |
|
|