Web scraping 如何使网页不被机器人抓取?

Web scraping 如何使网页不被机器人抓取?,web-scraping,Web Scraping,这个问题已经有了答案 因此,我的问题是,我们可以采取什么步骤来摆脱标准刮刀?只需放置一个元标记,如 <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> 这会告诉机器人他可能不会为你的站点编制索引。只需放置一个元标记,如 <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> 这告诉机器人他可能不会为你的网站编制索引。你问题的关键词是“标准”替罪羊 没有办法阻止所有可能的机器

这个问题已经有了答案


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

只需放置一个元标记,如

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


这会告诉机器人他可能不会为你的站点编制索引。

只需放置一个元标记,如

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


这告诉机器人他可能不会为你的网站编制索引。

你问题的关键词是“标准”替罪羊

没有办法阻止所有可能的机器人抓取你的网站,因为它们可能只是假装成普通访问者

对于“好”机器人,一个或两个或指定机器人是否可以索引内容和/或跟踪链接:

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


对于“坏”的,你必须抓住它们一次,并通过IP、请求/引用头等组合阻止它们。

你问题的关键词是“标准”替罪羊

没有办法阻止所有可能的机器人抓取你的网站,因为它们可能只是假装成普通访问者

对于“好”机器人,一个或两个或指定机器人是否可以索引内容和/或跟踪链接:

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


对于“坏”的请求,您必须捕获它们一次,并在IP、请求/引用头等的组合上阻止它们。

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


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

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

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

  • 使用验证码
  • 分析流量(请求页面的位置和频率)
  • 显示混合了图片的文本
  • 使用更多的客户端数据处理(JavaScript、Java、Flash)
      • 使用验证码
      • 分析流量(请求页面的位置和频率)
      • 显示混合了图片的文本
      • 使用更多的客户端数据处理(JavaScript、Java、Flash)

      除了前面提到的所有javascript之外,我所知道的最可靠的方法之一就是在用户登录后添加受限内容。这将限制除专用机器人外的所有机器人。向用户登录添加强验证码(如),专门构建的机器人也将被阻止

      如果站点希望验证客户端的身份(即:包括它是否是bot),这就是用户登录的目的。:)


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

      除了前面提到的所有javascript之外,我所知道的最可靠的方法之一就是在用户登录后添加受限内容。这将限制除专用机器人外的所有机器人。向用户登录添加强验证码(如),专门构建的机器人也将被阻止

      如果站点希望验证客户端的身份(即:包括它是否是bot),这就是用户登录的目的。:)


      如果检测到异常活动,也可以禁用用户登录。

      只有符合正确机器人规则的用户登录。还有其他机器人,比如BLP_bbot(bloomberg),不管怎样都会忽略机器人规则和爬行。快速提问,这是否意味着机器人有责任检查这个特定的元信息(我担心不受信任的机器人)?我可能错了,但这种方法是否仍然会使网站容易受到来自html源本身的各种刮取?是的,如果你有一个机器人不遵守规则,他将忽略此标记并继续刮取。只有那些符合正确机器人规则的。还有其他机器人,比如BLP_bbot(bloomberg),不管怎样都会忽略机器人规则和爬行。快速提问,这是否意味着机器人有责任检查这个特定的元信息(我担心不受信任的机器人)?我可能错了,但这种方法是否仍然会使网站容易受到来自html源代码本身的各种刮取,如果你的机器人不遵守规则,他将忽略此标签并继续抓取。如果你使用验证码,包括15-20秒的完成时间限制,因为从任何“机械突厥”破解服务或自动OCR脚本中获得答案平均需要20-30秒。如果你使用验证码,包括15-20秒的时间限制完成时间为秒,因为从任何“机械突厥”破解服务或自动OCR脚本中获得答案平均需要20-30秒。