【问题标题】:How I do to block Web scraping without blocking Well behaved bots?如何在不阻止行为良好的机器人的情况下阻止 Web 抓取?
【发布时间】:2021-02-14 22:46:58
【问题描述】:

我正在构建一个包含大型产品数据库的电子商务网站。当然,当 Goggle 索引网站的所有产品时也很好。但是,如果某个竞争对手想要Web Scrape 网站并获取所有图片和产品描述怎么办?

我观察了一些具有类似产品列表的网站,它们放置了验证码,因此“只有人类”才能阅读产品列表。缺点是……它对 Google、Yahoo 或其他“行为良好”的机器人是不可见的。

【问题讨论】:

    标签: security seo screen-scraping bots


    【解决方案1】:

    您可以通过使用 whois(在命令行或网站上)检查访问者 IP 来发现 Google 和其他人正在使用的 IP 地址。然后,一旦你积累了一些合法的搜索引擎,就允许它们进入你的产品列表,而不需要验证码。

    【讨论】:

    • 屏幕抓取工具不能非常容易地伪造他们的 IP 吗?
    • 如果他们希望 HTTP 响应正确路由,则不会。
    【解决方案2】:

    如果您担心竞争对手会使用您的文字或图片,那么水印或自定义文字怎么样?

    让他们拍摄您的照片,您的网站上就会出现您的徽标!

    【讨论】:

      【解决方案3】:

      由于潜在的屏幕抓取应用程序可以在标头中欺骗用户代理和 HTTP 引荐来源网址(用于图像)并使用类似于人类浏览器的时间表,因此不可能完全阻止专业抓取工具。但是您仍然可以检查这些东西并防止随意刮擦。 除了在网站上注册之外,我个人觉得验证码很烦人。

      【讨论】:

        【解决方案4】:

        您可以尝试的一种技术是“蜜罐”方法:可以通过一些简单的脚本挖掘日志文件来完成。

        基本过程是您建立自己的爬虫 IP“黑名单”,方法是查找在很短的时间内查看 2 个以上不相关产品的 IP 地址。这些 IP 很可能属于机器。然后,您可以对它们进行反向查找,以确定它们是好的(如 GoogleBot 或 Slurp)还是坏的。

        【讨论】:

          【解决方案5】:

          阻止网络爬虫并非易事,要避免误报更是难上加难。

          无论如何,您都可以将一些网络范围添加到白名单中,并且不要向他们提供任何验证码。 所有那些众所周知的爬虫:Bing、Googlebot、Yahoo 等。在爬取时总是使用特定的网络范围,并且所有这些 IP 地址都会解析为特定的反向查找。

          几个例子:

          Google IP 66.249.65.32 解析为 crawl-66-249-65-32.googlebot.com

          Bing IP 157.55.39.139 解析为 msnbot-157-55-39-139.search.msn.com

          Yahoo IP 74.6.254.109 解析为 h049.crawl.yahoo.net

          假设 '*.googlebot.com '、'*.search.msn.com ' 和 '*.crawl.yahoo.net 的地址应该被列入白名单。

          您可以在互联网上实施大量白名单。

          也就是说,我不认为 Captcha 是针对高级爬虫的解决方案,因为诸如 deathbycaptcha.com2captcha.com 等服务承诺可以解决任何类型的几秒钟内验证码。

          请查看我们的 wiki http://www.scrapesentry.com/scraping-wiki/ 我们写了很多关于如何预防、检测和阻止网络抓取工具的文章。

          【讨论】:

            【解决方案6】:

            也许我过于简化了,但如果您担心服务器性能,那么提供 API 将减少对抓取工具的需求,并为您节省带宽/处理器时间。

            此处列出的其他想法:

            http://blog.screen-scraper.com/2009/08/17/further-thoughts-on-hindering-screen-scraping/

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2013-06-09
              • 1970-01-01
              • 1970-01-01
              • 2017-10-12
              • 1970-01-01
              • 2021-10-02
              • 2012-07-13
              • 2012-04-09
              相关资源
              最近更新 更多