Ruby 如何避免在使用javascript抓取网页时启动firefox gui

Ruby 如何避免在使用javascript抓取网页时启动firefox gui,ruby,firefox,web-scraping,watir-webdriver,Ruby,Firefox,Web Scraping,Watir Webdriver,我正试图用大量的javascript废弃一个网页。在pguardiano的帮助下,我用ruby编写了这段代码 require 'rubygems' require 'watir-webdriver' require 'csv' @browser = Watir::Browser.new @browser.goto 'http://www.oddsportal.com/matches/soccer/' CSV.open('out.csv', 'w') do |out| @browse

我正试图用大量的javascript废弃一个网页。在pguardiano的帮助下,我用ruby编写了这段代码

 require 'rubygems'
 require 'watir-webdriver'
 require 'csv'
 @browser = Watir::Browser.new
 @browser.goto 'http://www.oddsportal.com/matches/soccer/'
 CSV.open('out.csv', 'w') do |out|
 @browser.trs(:class => /deactivate/).each do |tr|
    out << tr.tds.map(&:text)
 end
 end
需要“rubygems”
需要“watir webdriver”
需要“csv”
@browser=Watir::browser.new
@browser.goto'http://www.oddsportal.com/matches/soccer/'
CSV.open('out.CSV','w')do | out|
@browser.trs(:class=>/deactivate/)。每个do | tr|
out您可以尝试一个选项


另一种方法是使用。第三种选择是使用类似刮刀的刮刀

请看这里的答案,我认为您最好使用较低级别的解决方案,例如HTTP Party gem来发出请求并获得响应,然后使用Nokogiri来解析HTML。Watir更多的是用于网站的功能测试,虽然我可以用来做刮削,但这不是它的主要目的,所以它可能不是一个理想的解决方案,我同意。如果我想要一个便宜/简单的刮刀库,我会使用Mechanize和Nokogiri。但正如埃曼纽尔所提到的,这并不总是适用于javascript网站。是的,如果有很多客户端代码,你需要一个真正的浏览器,或者非常接近的浏览器。
require 'watir-webdriver'
require 'headless'
headless = Headless.new
headless.start
b = Watir::Browser.start 'www.google.com'
puts b.title
b.close
headless.destroy