0

我在弹出一个模态本地化选择框的页面上运行了一些 JS。我想防止机器人/爬虫发生这种情况。有没有办法使用 Modernizr 和/或 yepnope.js 来做到这一点?

4

1 回答 1

1

大多数机器人根本不会运行任何 Javascript 代码。他们会下载您的代码并检查它以查看它的作用或用途,或者该特定机器人的功能是什么,但他们通常不需要实际运行任何 JS 代码来执行此操作。

那些运行 JS 代码的人将在不同机器人的环境中运行。有些可能模拟浏览器环境,有些可能在实际浏览器中运行。但是,如果不了解您可能遇到的所有机器人的内部结构,您真的无法使用 Modernizr 之类的工具确定解决它。

在查看最终用户的浏览器时,进行浏览器检测被认为是一件坏事,而功能检测(即 Modernizr)被认为是更好的解决方案。

然而,由于我上面讨论的因素,当涉及到机器人时,规则会发生变化,并且基于它们的用户代理字符串对它们进行检测确实变得合法。

任何合法的机器人都会提供一个 UA 字符串来标识自己,并且应该很容易被发现。

如果机器人不提供可识别的 UA 字符串,那么它就不是合法的机器人,因此您没有理由对其进行任何特殊处理以使其生活更轻松。

于 2011-10-12T10:22:13.270 回答