【问题标题】:What is proper way to block bots/crawlers hitting link/page?阻止机器人/爬虫点击链接/页面的正确方法是什么?
【发布时间】:2014-12-15 12:36:25
【问题描述】:

我正在从事分析工作,我得到了很多准确的结果,主要是因为社交媒体机器人或 Twitter 上的 BufferBot、DataMinr 等其他随机机器人。

是否有所有已知机器人的 Web API/数据库可供我用来检查它是机器人还是人类?

或者有什么好的方法可以阻止此类机器人,使其不会影响分析方面的统计数据?

【问题讨论】:

  • 也许看看使用 Htaccess。这可能会有所帮助:javascriptkit.com/howto/htaccess13.shtml
  • @TheHumbleRat 使用这种方法,我可能不得不手动为在社交媒体网络上漫游的无数机器人添加行。嗯
  • 您能接受最有用的答案吗?这是 SO 改进的方式。]

标签: php analytics bots


【解决方案1】:

您可以链接到被 robots.txt 阻止的隐藏页面。访问时,捕获机器人的用户代理和 IP 地址,然后将其中一个或两个附加到永久阻止它们的 .htaccess 文件中。它只捕获不良机器人并且是自动化的,因此您无需做任何事情来维护它。

只要确保您首先设置 robots.txt 文件,然后给优秀的机器人一个公平的机会阅读它并相应地更新它们的抓取。

【讨论】:

    【解决方案2】:

    在您的路线中创建一个名为 robots.txt 的文件并添加以下行:

    User-agent: *
    Disallow: /
    

    【讨论】:

    • 您假设机器人会尊重该文件。只有优秀的人才会这样做。
    • 这肯定会阻止所有机器人并停止谷歌索引该网站
    【解决方案3】:

    没有办法彻底阻止所有机器人,这将花费大量时间,您可以使用 .htaccess 文件或 robots.txt,阻止谷歌索引网站很容易,但阻止机器人流量可能会变得复杂像纸牌屋一样行事 我建议使用这个爬虫/网络机器人列表http://www.robotstxt.org/db.html

    【讨论】:

    • 我想阻止在社交媒体网络上爬行的机器人或用户代理。问题是很难为所有这些类型的机器人找到最新的数据库。即使我阻止了它,他们也会再次使用不同的 ip
    • 是的,我认为如果您对它的问题在于您正在分析流量,那么尝试阻止机器人不会有用,因为它会产生所有机器人都被阻止的错觉,如果爬虫很激进(例如寻找邮件地址的垃圾邮件爬虫)如果你使用谷歌分析,他们会找到绕过你的“阻止”的方法,我会看看这个lunametrics.com/blog/2013/09/05/filter-bots-google-analytics/…
    • bot 问题一直存在,目前还没有真正的解决方案,所以我认为检查数据库是最有用的,我提供的数据库是最新的并且经常更新!跨度>
    猜你喜欢
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 2015-11-16
    • 2017-10-21
    • 2016-02-16
    • 2016-10-28
    相关资源
    最近更新 更多