代码之家  ›  专栏  ›  技术社区  ›  Click Ok

我如何阻止网络抓取而不阻止行为良好的机器人?

  •  1
  • Click Ok  · 技术社区  · 15 年前

    我正在建立一个电子商务网站,里面有大量的产品数据库。当然,当Goggle为网站的所有产品编制索引时,这很好。但是如果有竞争对手想要呢 Web Scrape

    我观察到一些网站上有类似的产品列表,他们放置了验证码,所以“只有人类”可以阅读产品列表。缺点是。。。对于谷歌、雅虎或其他“行为良好”的机器人来说,它是看不见的。

    6 回复  |  直到 3 年前
        1
  •  2
  •   Jeremy L    15 年前

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

        2
  •  1
  •   Mark    15 年前

    让他们拍下你的照片,你就可以在他们的网站上看到你的标志!

        3
  •  1
  •   cdonner    15 年前

    由于潜在的屏幕切换应用程序可以欺骗标题中的用户代理和HTTP引用(用于图像),并使用类似于人类浏览器的时间安排,因此不可能完全停止专业的scraper。但是你可以检查这些东西,防止随意刮擦。

        4
  •  0
  •   HipHop-opatamus    15 年前

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

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

        5
  •  0
  •   Cristian - ScrapeSentry.com    9 年前

    无论如何,你可以添加一些netrange到白名单中,并且不向他们提供任何验证码。 所有那些著名的爬虫:Bing、Googlebot、Yahoo等等。。爬网时始终使用特定的网络范围,所有这些IP地址都解析为特定的反向查找。

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

    雅虎 IP 74.6.254.109解析为h049.crawl.yahoo.net

    *.googlebot.com ', ' “还有” *.crawl.yahoo.net “地址应该被列入白名单。

    死亡验证码 2captcha.com 承诺在几秒钟内解决任何类型的验证码。

    请浏览一下我们的维基 http://www.scrapesentry.com/scraping-wiki/ 我们写了许多关于如何预防、检测和阻止web刮取器的文章。