如何处理欺骗性用户代理?爬虫程序伪装成蜘蛛

如何处理欺骗性用户代理?爬虫程序伪装成蜘蛛

我一直在跟踪我们日志中的几个蜘蛛,并对它们的 IP 进行了跟踪路由,发现它们实际上是 EC2 实例。用户代理被列为 Google 机器人和 msnbot,但它们不是 Google 或 MS IP。我能做些什么吗,欺骗用户代理是一种常见的做法吗?我猜如果我禁止他们的 IP(我已经这样做了),他们只会启动一个新实例并继续运行。但我不想禁止所有 EC2 实例。

答案1

当您真正开始深入研究日志时,您会发现大量的机器人会进行标头欺骗;其中大多数以 IE 进行欺骗(其中一些没有成功;拼写错误会很快发现您的代理字符串!)。

有一个有趣的 EFF 实验,它研究如何使用浏览器呈现的数据唯一地识别用户:全景式。在应用程序级别收集更多信息以尝试阻止可能会让您获得一些帮助,因为非浏览器节点将无法返回其中一些字段。

但是,就像阻止他们的 IP 不太可能长期有效一样,如果他们执意要抓取您的数据,那么尝试基于用户代理(或任何其他独特标准)进行阻止也不太可能长期有效。最后,尝试阻止网络上的每个流氓机器人并不值得您花费时间和精力;只需设置您的 robots.txt 文件,留意那些试图使用 SQL 注入或类似方法攻击您的恶意机器人,然后就可以高枕无忧了。

相关内容