éviter les spider-trap
6 messages
• Page 1 sur 1
- fabrisss
- Nouveau WRInaute

- Messages: 30
- Inscription: 13 Jan 2006
éviter les spider-trap
Bonjour,
Je développe un petit crawler web basique, sans grande prétention, mais celui-ci ne cesse de s'engouffrer dans des méchants pièges (intentionnels ou pas ?) du style :
http://www.example.com/a/b/a/b/a...
ou
http://www.example.com/script.php?a=1&a=1&a=1...
La seule solution simple que j'ai trouvé est de compter le nombre de "/" ou de "?" dans l'URL et de bloquer les URL en comportant plus de 10 (par exemple). Avez-vous d'autres idées ou remarques ?
Merci d'avance,
PS : le problème suivant est d'éliminer, dans la liste des URL trouvées par le crawler, les URL qui référencent la même page.
[Edit kazhar : Le domaine de test, c'est example. Pas monsite]
Je développe un petit crawler web basique, sans grande prétention, mais celui-ci ne cesse de s'engouffrer dans des méchants pièges (intentionnels ou pas ?) du style :
http://www.example.com/a/b/a/b/a...
ou
http://www.example.com/script.php?a=1&a=1&a=1...
La seule solution simple que j'ai trouvé est de compter le nombre de "/" ou de "?" dans l'URL et de bloquer les URL en comportant plus de 10 (par exemple). Avez-vous d'autres idées ou remarques ?
Merci d'avance,
PS : le problème suivant est d'éliminer, dans la liste des URL trouvées par le crawler, les URL qui référencent la même page.
[Edit kazhar : Le domaine de test, c'est example. Pas monsite]
-

ecocentric - WRInaute accro

- Messages: 3602
- Inscription: 10 Fév 2004
Quelques idées :
1. associer à chaque page un hash pour détecter les pages identiques
2. décomposer les paramètres pour détecter les paramètres en double
3. limiter la profondeur de crawl au niveau répertoire (à combiner avec 1)
4. Vérifier si une URL du type -http://www.monsite.com/a/b/a/b/a n'est pas due à un bug du crawler (mauvaise reconstitution de l'URL dans le cas de chemins relatifs).
Hervé
1. associer à chaque page un hash pour détecter les pages identiques
2. décomposer les paramètres pour détecter les paramètres en double
3. limiter la profondeur de crawl au niveau répertoire (à combiner avec 1)
4. Vérifier si une URL du type -http://www.monsite.com/a/b/a/b/a n'est pas due à un bug du crawler (mauvaise reconstitution de l'URL dans le cas de chemins relatifs).
Hervé
Dernière édition par ecocentric le Mer Déc 13, 2006 15:07, édité 1 fois.
-

ecocentric - WRInaute accro

- Messages: 3602
- Inscription: 10 Fév 2004
Re: éviter les spider-trap
fabrisss a écrit:[Edit kazhar : Le domaine de test, c'est example. Pas monsite]
PR8 seulement. J'aurais cru à plus
- madz06
- Nouveau WRInaute

- Messages: 16
- Inscription: 5 Déc 2006
Tu as plusieurs possibilités pour essayer d'éviter cela, ou en tout cas arrêter la procédure au lieu de continuer indéfiniment.
Tu peux par exemple construire ton crawler selon une logique récursive, et stopper le crawl si tu es descendu à plus de x niveaux.
Une autre méthode serait l'étude statistique du contenu de la page: si le contenu est identique à plus de x% dans deux niveaux consécutifs, alors le crawler s'arrête (tu peux même combiner ça à la méthode ci-dessus pour de meilleurs résultats).
Enfin, tu peux dire interdire au crawler de suivre les liens avec Query String (ce qui suit le ?), au risque de perdre des pages pertinentes.
Là comme ça j'ai pas plus d'idées, bon courage ^^
Tu peux par exemple construire ton crawler selon une logique récursive, et stopper le crawl si tu es descendu à plus de x niveaux.
Une autre méthode serait l'étude statistique du contenu de la page: si le contenu est identique à plus de x% dans deux niveaux consécutifs, alors le crawler s'arrête (tu peux même combiner ça à la méthode ci-dessus pour de meilleurs résultats).
Enfin, tu peux dire interdire au crawler de suivre les liens avec Query String (ce qui suit le ?), au risque de perdre des pages pertinentes.
Là comme ça j'ai pas plus d'idées, bon courage ^^
- fabrisss
- Nouveau WRInaute

- Messages: 30
- Inscription: 13 Jan 2006
ecocentric a écrit:Quelques idées :
1. associer à chaque page un hash pour détecter les pages identiques
non car les pages composant un piège ne sont pas exactement identiques : l'URL "piégeuse" est différente vu qu'elle est à chaque fois de plus en plus longue
ecocentric a écrit:2. décomposer les paramètres pour détecter les paramètres en double
ok pour résoudre le 2ème cas
ecocentric a écrit:3. limiter la profondeur de crawl au niveau répertoire (à combiner avec 1)
oui bien mais on perd des pages
ecocentric a écrit:4. Vérifier si une URL du type -http://www.monsite.com/a/b/a/b/a n'est pas due à un bug du crawler (mauvaise reconstitution de l'URL dans le cas de chemins relatifs).
mon crawler se porte bien, merci
ecocentric a écrit:Hervé
Michel
-

ecocentric - WRInaute accro

- Messages: 3602
- Inscription: 10 Fév 2004
Bonjour Michel,
> l'URL "piégeuse" est différente
Je parlais de faire un hash sur le contenu, ou sur des parties de contenu (tout ou body uniquement, par exemple), pas sur l'URL.
Hervé.
<mode private="on">:lol:</mode>
> l'URL "piégeuse" est différente
Je parlais de faire un hash sur le contenu, ou sur des parties de contenu (tout ou body uniquement, par exemple), pas sur l'URL.
Hervé.
<mode private="on">:lol:</mode>
6 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Drôle de spider !
- spider russe
- Spider simulation
- test spider
- Spider Simulator
- NOSEHAT Spider
- Baidu spider
- Pete-Spider Light/1.46
- Un spider bien entreprenant !
- Spider simulator et autres...
- Time-warner spider
- spider webalta, vous connaissez ?
- lien trouvé par spider .fr/fr/
- Robot spider de Pages Jaunes
- Problème avec spider simulator
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
