it-swarm.cn

是否有索引机器人使用的IP地址索引?

我有一个获得最小流量的页面,但是当它被点击时我设置了静态通知。现在,我希望机器人被忽略,所以我现在正在做的是添加机器人,我看到“无通知”列表。

是否有索引机器人使用的IP地址的参考列表?

例如,列表如:

$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/ 可能就是你要找的东西。

5
Frank Robert Anderson

所有搜索引擎都使用大量的IP地址。您将要查看用户代理字符串。检查 本页 以获取所有爬虫的良好列表。

在PHP中,这样的东西可以工作:

$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

你为什么不把它放在你的robots.txt文件中?

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

这样你就不需要继续寻找机器人了。我敢打赌谷歌,雅虎和MSN拥有数百个机器人,他们可能拥有不同的IP地址,而且新的一直在创建。添加上述内容应该对您的文件页面执行相同操作,而不会有任何麻烦。

1
Ben Hoffman

有一些代码可以识别机器人 http://ekstreme.com/phplabs/search-engine-authentication (以及Google帮助中心的文章 http://www.google) .com/support/webmasters/bin/answer.py?answer = 8055 关于验证Googlebot)。还有一些代码 http://ekstreme.com/phplabs/crawlercontroller.php 可用于识别爬虫,你可以很容易地扩展它以识别“好”的爬虫和垃圾邮件它现在承认。

一般而言,重要的是不要仅依赖于用户代理名称或IP地址,因为普通用户可能会使用某些用户代理,并且可能会共享某些IP地址。

也就是说,如果你只是将它用于电子邮件通知,我可能会忽略用户代理中的简单已知模式,并使用误报和漏报。检查您的日志文件,查找您网站上最活跃的爬虫,并检查用户代理名称的唯一部分(仅使用“googlebot | Slurp | msnbot | bingbot”就足够了)。

1
John Mueller

如果您认真地过滤机器人,那么您将需要实现一些本地列表。有时随机看似IP会被我管理的网站所困扰。大学项目,实施不佳的机器人似乎是实验性的,但通常不被认可,这些类型的东西。

另外:Cuil bot(Twiceler)是魔鬼。

1
Thomas

你能访问使用者吗?在我看来,这是一个更好的方法来确定谁是真正的用户,什么是机器人 - 它更适合合法的抓取工具更改地址,如果有什么伪装成机器人,你可能不想收到电子邮件无论如何。

0
Cebjyre

试试这个...

$UI_Agent = $_SERVER['HTTP_USER_AGENT'];

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

HTH,Bud

0
Bud