是否可以编写代码来检测网站是否在抓取内容?
问问题
419 次
4 回答
3
一只好蜘蛛
- 读取 robots.txt
- 有合适的用户代理
- 将比普通用户更快地查询
但是我认为不可能清楚地检测它是浏览器还是蜘蛛。
于 2009-04-08T09:13:55.477 回答
1
您尝试使用用户代理字符串来识别机器人。
不同的机器人似乎有不同的用户代理字符串:
http://www.useragentstring.com/pages/useragentstring.php
但是,用户代理字符串很容易被欺骗。
于 2009-04-08T09:15:28.827 回答
1
您可以使用常见机器人使用的用户代理字符串列表。您可以使用某种形式的速率检测并确定非常高的请求率可能是蜘蛛(或窃取您的整个站点的人)。
也可能有普通机器人使用的 IP 地址列表,但一个万无一失的检测系统很可能是不可能的。
您可以在您的页面上创建一个真正的访问者永远不会点击的链接,并将任何跟随该链接的人标记为蜘蛛。无论如何,您都会让一些人点击链接,但无法避免好奇心。
于 2009-04-08T09:15:59.060 回答
1
如果蜘蛛很好,您可以通过它的用户代理使用现有用户代理列表来检测它,如下所示。但是一个好的网络蜘蛛通常也遵循robots.txt约定
忽略 robots.txt 文件并欺骗其用户代理的机器人很可能还会使用其他方式来隐藏它们是蜘蛛。
于 2009-04-08T09:17:11.067 回答