如何避免被刮?


8

我们有一个可搜索的Database(DB),我们将结果限制为每页15个,只有100个结果,但是仍然有人试图刮擦该网站。

我们禁止访问速度足够快的网站。我想知道我们还有什么可以做的。Flash渲染结果也许?


确保您有一个robots.txt ...是的,我知道不是每个人都对它感到荣幸..但有些人还是这样做
特伦特(Trent)在2009年

Answers:


6

通过AJAX检索记录,并为AJAX调用使用身份验证ID(如API密钥),可能会使操作更加困难。

当然,您可以通过读取ID并使用该ID提出AJAX请求来解决此问题。

正如您所指出的那样,使用Flash渲染是一种替代方法(尽管仍然不是100%不可抓取的),就像PDF渲染一样。


13

既然您的数据库显然有需求,您是否考虑过将其翻转并提供刮板所需的内容?与刮板建立业务联系,并鼓励适当使用API​​?


1
是的,我喜欢API
Isaac Waller's

+1你甚至可以收取API使用一小笔费用,并从刮刀出身的客户做一些布克斯
桑德马雷夏尔

是的,我们设置了一个计时器并禁止页面被击打得太快,以至于出售信息似乎不太可能,在过去,他们使用该信息将其放在另一个网站上并获得点击收入。
兰丁


4

没有任何技术解决方案可以防止有动机的人抓取您的公共可访问内容。

但是,您可以通过以下方式合法地保护您的知识产权:

  • 确保您的网站拥有明确标记的版权
  • 在页脚中张贴明确禁止抓取的服务条款
  • 考虑将数字水印嵌入网站的所有内容中。不要忘记,文本也可以加水印!

2

在给定的时间段内,如何设置身份验证(可能是验证码),跟踪使用情况以及限制对某些记录或搜索的访问?


1

您可能会发现,当您应用不同的技术时,刮刀会改善刮刀的性能。也许有一种方法可以分析抓取并提供验证码或其他干扰的用户的行为?也许您可以在一段时间内将结果限制为较小的数目,以强制刮板等待10天。如果他们在两次登录之间未登录,则假设他们是scaper?

无论您做什么,都要确保混合使用技巧,以使它们寿命更长一些。


1

您需要考虑的是,这些抓取工具可能没有使用您的网页和表格,而只是在以http级别调用您的网站。

我认为最好的解决方案是在ip地址请求超过特定请求阈值后抛出catchpa。

但是,您需要非常小心,以确保不影响实际用户的应用程序可伸缩性。

如您在问题中所述,限制每页的数据量只会增加客户端对您的服务器的请求数量。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.