Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 用户和bot之间的区别_Ruby On Rails_Capybara_Poltergeist - Fatal编程技术网

Ruby on rails 用户和bot之间的区别

Ruby on rails 用户和bot之间的区别,ruby-on-rails,capybara,poltergeist,Ruby On Rails,Capybara,Poltergeist,我在rails中实践,出现了以下问题-站点如何由用户、个人或机器人决定 我用罗尔水豚和恶鬼 有以下代码: require 'capybara/poltergeist' options = {} Capybara.register_driver :poltergeist do |app| Capybara::Poltergeist::Driver.new(app, options) end session =Capybara::Session.new(:poltergeist) sessi

我在rails中实践,出现了以下问题-站点如何由用户、个人或机器人决定

我用罗尔水豚和恶鬼

有以下代码:

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
在用户代理字段中,我设置数据并执行代码。 如果我只是转到URL,页面将正确显示。如果我运行代码,它会将一个空白页保存到重定向的位置


我已经清理了饼干。我们有相同的IP地址。我们还有什么不同的迹象?

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

Poltergeist将一些JS加载到每个页面中,这很容易被检测到。 Poltergeist不支持大量新的CSS/JS,因此该网站可能正在测试该浏览器的功能,看到它看起来像一个7年前的Safari版本,并发现可疑到足以假设它是一个机器人。 除此之外,还有更多的方法需要对页面JS进行完整的分析,以准确了解它们在做什么。Gumtree非常积极地检测机器人,以防止人们违反其使用条款,绕过这一点远远超出了答案