用户和漫游器之间的区别

时间:2019-01-22 13:52:58

标签: ruby-on-rails capybara poltergeist

我在Rails中练习,并且出现了以下问题-该网站是由用户,个人还是机器人确定的?

我和Poltergeist一起使用RoR-水豚

有以下代码:

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-页面正确显示。如果我运行该代码,它将在重新定向的地方保存一个空白页面。

我已经清理了cookie。我们有相同的IP地址。我们还有哪些其他迹象?

1 个答案:

答案 0 :(得分:1)

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

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

除此以外,还有许多其他方法需要对JS页面进行完整分析,以准确了解它们在做什么。 Gumtree在检测机器人程序方面非常激进,以防止人们违反其使用条款,并绕开了它,这远远超出了stackoverflow的答案。