网站蜘蛛自动检测

时间:2009-04-08 09:07:38

标签: web-crawler

是否可以编写代码来检测网站是否在抓取内容?

4 个答案:

答案 0 :(得分:3)

一只好蜘蛛

  • 读取robots.txt
  • 拥有合适的用户代理
  • 将比普通用户查询更快

但我认为,无论是浏览器还是蜘蛛,都可以清楚地检测出来。

答案 1 :(得分:1)

您尝试使用用户代理字符串来识别机器人。

不同的机器人似乎有不同的用户代理字符串:

http://www.useragentstring.com/pages/useragentstring.php

但是,用户代理字符串很容易欺骗。

答案 2 :(得分:1)

您可以使用常见机器人使用的用户代理字符串列表。您可以使用某种形式的速率检测,并确定一个非常高的请求率可能是蜘蛛(或有人从您的整个网站上掠过)。

可能还有常见机器人使用的IP地址列表,但最不可能是一个万无一失的检测系统。

您可以在自己的网页上创建一个链接,真正的访问者永远不会点击这个链接并标记任何跟随该链接作为蜘蛛的人。无论如何,你会让一些人点击链接,但无法避免好奇心。

答案 3 :(得分:1)

如果蜘蛛很好,您可以使用现有用户代理列表(例如this)通过它的用户代理检测它。但是一个漂亮的webspider通常也遵循robots.txt约定

忽略robots.txt文件并欺骗其用户代理的机器人很可能还会使用其他方法隐藏它们是蜘蛛。