我正在尝试使用大量 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
抓取是在后台递归完成的,睡眠时间约为 1 小时。我没有 ruby 的经验,尤其是网页抓取,所以我有几个问题。
每次打开一个新的 firefox 会话并消耗大量 cpu 和 ram 时,我怎样才能避免这种情况?
是否可以在不使用他的 GUI 的情况下使用 firefox 引擎?