【发布时间】:2013-08-15 08:21:23
【问题描述】:
我制作了一个基于 Mechanize 的解析器(ruby 文件)并将其放入模型中(我通过 rails 生成器创建了具有所有属性的模型,例如名称:字符串、电子邮件:字符串等并进行了迁移) rails app(我做对了吗?)。但我不知道如何让解析器将收集到的信息记录到数据库中。
解析器:
class PrintingHouses < ActiveRecord::Base
require 'mechanize'
agent = Mechanize.new
page = agent.get('http://www.print-index.ru/default.aspx?p=82&gr=198')
loop do
page.search('.goodname .goodname').each do |n|
link = Mechanize::Page::Link.new(n, agent, page)
new = link.click
name = new.search('#ctl00_ctl00_BaseCentralRegion_CentralRegion_lblGoodName h1')
address = new.search('.address')
phone = new.search('.phone')
email = new.search('.email')
website = new.search('.www')
puts name.text.center(100)
print "Address: "
puts address.text.strip
print "Phone: "
puts phone.text.strip
print "email: "
puts email.text.strip
print "Website: "
puts website.text.strip
end
break unless link = page.link_with(:text => " » " )
page = link.click
end
end
【问题讨论】:
-
您要解析到哪个模型?你的 Rails 是什么版本的?
-
模型是什么意思?我只想将解析后的信息保存到数据库中,但我不知道该怎么做。 Rails 版本是 4.0.0
-
表示你想把数据保存在哪里,PrintingHouses?
-
我想通过模型中的调用方法 new 或类似的方法将数据保存到数据库中。对不起,如果我理解错了什么
标签: ruby-on-rails ruby database parsing mysql2