使用rake任务和抓取html的ruby代码构建记录

时间:2012-05-07 23:59:02

标签: ruby ruby-on-rails-3.1 nokogiri

我使用nokogiri来删除一个html页面,我是新手,因为我是创建任务的新手。我找到了一些教程,我认为我可以根据自己的需要修改它们,但我无法让它工作。

这里是我用来删除html的ruby代码,当我在ruby控制台中运行它时效果很好,但现在我需要创建一个包含所有这些字段的新记录:

require 'rubygems'
require 'mechanize'
#require 'pp'

a = Mechanize.new { |agent|
  agent.user_agent_alias = 'Mac Safari'
}

a.get('http://ted.europa.eu/udl?uri=TED:NOTICE:143331-2012:DATA:EN:HTML&tabId=3') do |page|
  title             = page.search('table').search('tr')[0].search('td').map{ |n| n.text }
  doc_nr            = page.search('table').search('tr')[1].search('td').map{ |n| n.text }
  pub_date          = page.search('table').search('tr')[2].search('td').map{ |n| n.text }

  puts "#{title} - #{doc_nr} - #{pub_date}"
end

很高兴得到一个完整的答案,但..教程和维基的一些很好的链接也可以。非常感谢你的时间。

1 个答案:

答案 0 :(得分:1)

对于activerecord:

Record.new(:title => title, :doc_nr => doc_nr, :pub_date => pub_date).save