用户和机器人之间的区别

The difference between the user and the bot

我在 rails 练习,出现了以下问题 - 站点如何由用户、个人或机器人确定?

我使用 RoR - Capybara with Poltergeist

有如下代码:

require 'capybara/poltergeist'
options = {}

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, options)
end

session =Capybara::Session.new(:poltergeist)
session.driver.headers = { 'User-Agent' => ''}

session.visit 'https://gumtree.com'
session.save_and_open_page

User-Agent字段中,我设置了我的数据并执行了代码。 如果我只是转到 URL - 页面显示正确。如果我 运行 代码,它会将空白页保存到重定向的位置。

我已经清理了饼干。我们有相同的 IP 地址。我们还有哪些不同的标志?

站点可以通过多种方式确定您使用的是自动化工具。在这种情况下,最简单的两个是

  1. Poltergeist 将一些 JS 加载到每个很容易检测到的页面中。
  2. Poltergeist 不支持大量新的 CSS/JS 因此该网站可能正在测试浏览器的功能,发现它看起来像 7 年前的 Safari 版本,并发现它足以怀疑它是一个机器人。

除此之外,还有更多方法需要对页面 JS 进行完整分析才能准确了解它们在做什么。 Gumtree 在检测机器人方面非常积极,以防止人们违反他们的使用条款,并且绕过这远远超出了 Whosebug 的答案。