web-dev-qa-db-fra.com

Existe-t-il un index des adresses IP utilisées par les robots d'indexation?

J'ai une page qui reçoit un trafic minimal, mais je configure des notifications statiques quand elle est touchée. Maintenant, je veux que les bots soient ignorés, donc ce que je fais maintenant, c’est d’ajouter des bots que je vois à une liste "pas d’avertissement".

Existe-t-il une liste de référence des adresses IP utilisées par les robots d'indexation?

par exemple, une liste comme:

$no_mail = array(
    '67.195.115.105', // yahoo bot
    '207.46.199.50', // msn bot
    '61.135.249.246', //youdao bot
    '207.46.199.32', // msn bot
);
7
artlung

http://www.user-agents.org/ pourrait être ce que vous cherchez.

5

Tous les moteurs de recherche utilisent un grand nombre d'adresses IP. Vous voudrez plutôt regarder la chaîne de l'agent utilisateur. Vérifiez cette page pour une bonne liste de tous les robots.

En PHP, quelque chose comme ceci fonctionnerait:

$bots = array( 'googlebot', 'msnbot', 'Slurp', 'mediapartners-google' );
$isRobot = false;
$ua = strtolower( $_SERVER['HTTP_USER_AGENT'] );

foreach ( $bots as $bot ) {
  if ( strpos( $ua, $bot ) !== false )
    $isRobot = true;
}

if ( !$isRobot ) {
  // do your thing
}
2
DisgruntledGoat

Pourquoi ne mettez-vous pas cela dans votre fichier robots.txt?

User-agent: *
Disallow: /path/page-you-dont-want-crawled.html

De cette façon, vous n'aurez plus besoin de continuer à chercher des bots. Je parierais que Google, Yahoo et MSN ont des centaines de robots et qu'ils ont probablement des adresses IP différentes et de nouvelles adresses en cours de création. L'ajout de ce qui précède devrait faire la même chose pour votre page de fichier sans tous les tracas.

1
Ben Hoffman

Il existe du code pour reconnaître les robots sur http://ekstreme.com/phplabs/search-engine-authentication (ainsi que sur l’article du centre d’aide Google sur http://www.google.). .com/support/webmasters/bin/answer.py? answer = 8055 lors de la vérification de Googlebot). Il y a aussi du code sur http://ekstreme.com/phplabs/crawlercontroller.php qui peut être utilisé pour reconnaître les robots d'exploration, que vous pouvez facilement étendre pour reconnaître les "bons" robots d'exploration ainsi que les robots spammés il reconnaît maintenant.

En général, il est important de ne pas compter uniquement sur le nom de l'agent d'utilisateur ou sur l'adresse IP, car certains agents d'utilisateur peuvent être utilisés par des utilisateurs normaux et certaines adresses IP peuvent être partagées.

Cela dit, si vous utilisez uniquement cela pour les notifications par courrier électronique, j'ignorerais probablement simplement les modèles connus de l'agent utilisateur et vivrais avec les faux positifs et les faux négatifs. Recherchez dans votre fichier journal les robots les plus courants actifs sur votre site et recherchez une partie unique du nom de l'agent utilisateur (il suffirait peut-être simplement d'utiliser "googlebot | Slurp | msnbot | bingbot").

1
John Mueller

D'une manière ou d'une autre, si vous voulez vraiment filtrer les robots, vous devrez également mettre en place une liste locale. Parfois, des adresses IP apparemment aléatoires deviennent obsédées par un site Web que j'administre. Les projets universitaires, des robots mal implémentés qui semblent expérimentaux mais ne sont généralement pas reconnus, ce genre de choses.

Aussi: le bot Cuil (Twiceler) est le diable.

1
Thomas

Pouvez-vous accéder à l'utilisateur? Cela me semble une meilleure façon de déterminer qui est un véritable utilisateur et ce qu'est un bot - il est plus résistant aux robots d'exploration légitimes qui changent d'adresses. Si quelque chose se fait passer pour un bot, vous ne voulez probablement pas recevoir le courrier électronique. en tous cas.

0
Cebjyre

Essaye ça...

$UI_Agent = $_SERVER['HTTP_USER_AGENT'];

if(eregi("bot", $UI_Agent)) {
    // do your bot stuff here
}

HTH, Bud

0
Bud