Lire un robots.txt
9 messages • Page 1 sur 1
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
Lire un robots.txt
Bonjour,
Un post pas très ancien ne m'a pas apporté de réponse claire. En plus, ce n'était pas le sujet principal du post, alors je me permets d'ouvrir celui-ci.
Voici la question...
Il faut que je lise un robots.txt. Supposons que je sois dans une section de "user-agent" qui va bien, et que j'ai stocké dans $pattern la chaîne de caractères indiquée en face d'un "Disallow:".
Quelle devrait être la regex à écrire pour comparer une url $url à ce $pattern ?
Je propose ceci, mais je n'en suis pas sûr:
Des avis ?
Un post pas très ancien ne m'a pas apporté de réponse claire. En plus, ce n'était pas le sujet principal du post, alors je me permets d'ouvrir celui-ci.
Voici la question...
Il faut que je lise un robots.txt. Supposons que je sois dans une section de "user-agent" qui va bien, et que j'ai stocké dans $pattern la chaîne de caractères indiquée en face d'un "Disallow:".
Quelle devrait être la regex à écrire pour comparer une url $url à ce $pattern ?
Je propose ceci, mais je n'en suis pas sûr:
- Code: Tout sélectionner
$pattern = str_replace(array('+', '.', '*', '?'), array('\+', '\.', '.*', '\?'), $pattern);
$pattern = '@^'.$pattern.'@';
if (preg_match($pattern, $url))
print('ça matche, donc à exclure'."\n");
Des avis ?
fbparis a écrit:ok je vais le faire, patience
MDR tout le monde avait compris et personne a voulu s'y coller !
j'avoue, je me suis dit "si à minuit y'a rien, je m'y mets"
(ça tient toujours...)
(r'gardez, y'a fbparis qui se frotte les mains en se disant "j'lui laisse ?")
bah je viens de verifier les specs, il semble que tu pourrais meme te passer de regex
genre pour chaque ligne de disallow il faut que :
strpos($host . $path, $host . $disallow) !== 0
ou $host est le domaine (www.example.com)
et $path la suite.. : / , /index.html, etc
oublis pas que pour un user-agent donné, il peut y avoir plusieurs lignes de disallow (mais pas de regex dans les disallow)
sinon je dirais que ton truc est bon, a condition que ton $url soit en fait seulement le path, non ?
genre pour chaque ligne de disallow il faut que :
strpos($host . $path, $host . $disallow) !== 0
ou $host est le domaine (www.example.com)
et $path la suite.. : / , /index.html, etc
oublis pas que pour un user-agent donné, il peut y avoir plusieurs lignes de disallow (mais pas de regex dans les disallow)
sinon je dirais que ton truc est bon, a condition que ton $url soit en fait seulement le path, non ?
Oui, pardon, j'ai extrait un bout de mon code, et effectivement, $url ne doit être que le path.
Sinon, je ne pense pas pouvoir me passer du regex puisque Google reconnait des patterns du type:
Disallow: /path/tata*
ou encore
Disallow: *.jpg$
Ce qui m'inquiète en fait, ce sont les caractères qui pourraient apparaître dans un disallow et qui ont une signification particulière pour la regex. Par exemple, le signe "+" que je dois échapper pour qu'il soit compris comme un caractère par la regex. Je pense avoir oublier des caractères dans le même genre...
Sinon, je ne pense pas pouvoir me passer du regex puisque Google reconnait des patterns du type:
Disallow: /path/tata*
ou encore
Disallow: *.jpg$
Ce qui m'inquiète en fait, ce sont les caractères qui pourraient apparaître dans un disallow et qui ont une signification particulière pour la regex. Par exemple, le signe "+" que je dois échapper pour qu'il soit compris comme un caractère par la regex. Je pense avoir oublier des caractères dans le même genre...
Mon seul souci, c'est de pas oublier un truc. Si un gars commence à mettre des wildcards pour le bot Google, il peut (je l'ai vu) se dire que c'est OK pour les autres bots, et utiliser aussi des wildcards pour les autres robots.
Mais bon, je me fais peut-être ch... pour rien, après tout, la faute au gars s'il n'est pas dans la norme, hein ?
Bon, dans ce cas, j'ai bien noté le coup du strpos plutôt que tu preg_match. Ça me facilitera la vie.
Merci pour votre aide
Mais bon, je me fais peut-être ch... pour rien, après tout, la faute au gars s'il n'est pas dans la norme, hein ?
Bon, dans ce cas, j'ai bien noté le coup du strpos plutôt que tu preg_match. Ça me facilitera la vie.
Merci pour votre aide
9 messages • Page 1 sur 1
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 Julien Coquet, expert certifié officiellement par Google Analytics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Petit changement pour Slurp (le robot de Yahoo)
- Sortie de GoogleStats v2.01
- Les crawlers de Yahoo!
- Les robots MSNbot de Live Search
- Déclarer son fichier sitemap dans le fichier robots.txt
- Explications sur le Crawl Caching Proxy de Google
- Robots.txt : Yahoo supporte les options avancées
- La balise meta NOYDIR de Yahoo
- Comment gérer simplement les sitemaps de plusieurs sites au même endroit
- Alexa lance un moteur de recherche d'images
- robots.txt et balise meta robots, incompatibilité ?
- Interdire certains robots ? Comment ? Quels robots ?
- à lire
- lire un fichier ioncube
- Lire un index Lucene
- Comment lire le log?
- lire ses mp
- lire un avi sur freebox HD
- Robots utiles et robots inutiles
- lire fichier XML en javascript
- Adsense ne sait pas lire...
- Merci aux nouveaux de lire :
- Faut clicks message à lire !
- Lire la source d'une URI
- Iliad et annu - article à lire
Consultez la description détaillée des produits ou services de Google suivants : Google Feed Fetcher
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité



le forum