0

这个问题在这里得到了答案。

因此,我的问题是可以采取哪些步骤来摆脱标准刮刀?

4

5 回答 5

1

您问题中的关键词是“标准”爬虫。

没有办法阻止所有可能的机器人抓取您的网站,因为它们可能只是冒充普通访问者。

对于“好”机器人, robots.txtMETA 标记之一或两者都指定机器人是否可以索引内容和/或跟踪链接:

<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

对于“坏”的,你必须抓住它们一次,并结合 IP、请求/引荐标头等来阻止它们。

于 2012-06-12T11:58:15.160 回答
1
  • 使用验证码
  • 分析流量(请求页面的位置和频率)
  • 显示文字与图片混合
  • 使用更多的客户端数据处理(JavaScript、Java、Flash)
于 2012-06-12T12:23:10.503 回答
1

除了前面提到的robots.txt机器人元标记和使用更多 javascript 之外,我所知道的最可靠的方法之一是将受限内容放在用户登录后面。这将限制除专用机器人之外的所有机器人。在用户登录名中添加一个强大的验证码(如reCAPTCHA),专门构建的机器人也将被阻止。

如果一个站点正在寻找验证客户的身份(即:包括它是否是机器人),这就是用户登录的目的。:)

如果检测到奇怪的活动,也可以禁用用户登录。

于 2012-06-12T14:01:35.673 回答
0

只需放置一个元标记,例如

<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

这告诉机器人他可能不会索引您的网站。

于 2012-06-12T11:51:43.353 回答
0

如果您可以对请求进行服务器端处理,则可以分析用户代理字符串并在检测到刮板时返回 403。这不会是万无一失的。不道德的爬虫可能会使用标准的浏览器用户代理来欺骗您的代码。误报会将您的网站拒绝给真实用户。您最终可能会拒绝搜索引擎访问您的网页。

但是,如果您可以识别“标准刮板”,这将是另一种工具来控制对不尊重机器人标签的刮板的访问。

于 2012-06-12T12:03:46.513 回答