0

我不太确定这是否是发布我的问题的合适论坛。我正在分析 Apache 和 IIS 日志格式的 Web 服务器日志。我想找到自动浏览的证据(例如 Web 机器人、蜘蛛、机器人等)。我使用 python robots -detection 0.2.8来检测日志文件中的机器人。无论如何,可能有其他机器人(自动程序)已经遍历该网站,但机器人检测无法识别。

  1. 那么在日志文件中是否可以找到任何特定的线索(人类用户不执行但软件执行操作等)?
  2. 他们是否遵循特定的导航模式?
  3. 我看到了一些对 favicon.ico 的请求?这是否暗示它是自动浏览?

我发现这篇文章有一些有价值的观点。

4

1 回答 1

1

关于如何识别机器人的文章有一些很好的信息。您可能会考虑的其他事项。

  • 如果您看到对 HTML 页面的请求,但后面没有对页面使用的图像或脚本文件的请求,则该请求很可能来自爬虫。如果您看到很多来自同一 IP 地址的内容,则几乎可以肯定它是一个爬虫。它可能是 Lynx 浏览器(仅文本),但它更可能是爬虫。
  • 很容易发现一个可以非常快速地扫描您的整个站点的爬虫。但有些爬虫走得更慢,在页面请求之间等待 5 分钟或更长时间。如果您看到来自同一个 IP 地址的多个请求,这些请求随着时间的推移而以非常固定的间隔分散开来,则它可能是一个爬虫。
  • 来自同一 IP 的日志中重复出现 403(未经授权)条目。在放弃之前,人类很少会遭受超过少数 403 错误。一个不成熟的爬虫会盲目地尝试网站上的 URL,即使它得到了几十个 403。
  • 来自同一 IP 地址的重复 404。再一次,一个人会在少量的 404 之后放弃。爬虫会盲目地继续前进……“我知道这里某处有一个很好的 URL 。”
  • 不是主要浏览器的代理字符串之一的用户代理字符串。如果用户代理字符串看起来不像浏览器的用户代理字符串,它可能是一个机器人。请注意,反过来是不正确的。许多机器人将用户代理字符串设置为已知的浏览器用户代理字符串。
于 2013-07-03T14:35:59.060 回答