新手问题 怎么把爬虫爬到的数据添加到 rails 已有的 model 中

pacingwang · 2013年04月10日 · 最后由 pacingwang 回复于 2013年04月11日 · 4423 次阅读

我的网站已有 Product 模型,请问怎么把爬虫爬到的信息插入到已有 model 对应的 table 里面

require 'rubygems'
require 'mechanize'
require 'activerecord'

agent.get("http://rs.xidian.edu.cn/forum.php?mod=forumdisplay&fid=110")  do |page|
  page.links_with(:dom_class => "xst").each do  |link|
    Product.create(:title => link.text ,:link => link.href)
  end
end

之后执行这个文件来把数据添加到表里面 大概是这么个意思,不知道怎么实现,求大神帮忙

不是已经写完了吗?

@Rei ,我只是在 demo_app 文件下写了一个 scraper.rb,希望执行 ruby scraper.rb 实现数据库的插入,但总觉得少点什么东西。 我的机子上已经有 activercord 这个 gem 了,为什么执行 ruby scraper.rb 还是报错: no such file to load -- activerecord (LoadError)

@Rei 使用 sequel,问题解决了,谢谢

#3 楼 @pacingwang 使用 sequel 什么意思?不应该是require 'active_record'吗?

爬虫写到 rake task 里面。

@mayday 哦,原来错到这里了。sequel 是一个 gem

@hisea ,我学着一下 task。目前直接执行文件的语句可以达到目的

有个问题想问一下@pacingwang 。你把爬虫抓到的数据放到数据库,是怎么保证抓到的数据跟已经保存的数据不是重复的?

@AlphaLiu ,这个问题我还没有考虑,不过按我目前抓取到的数据,没有重复。 我只是实现一个很小的数据抓取,目前还没有什么问题。mechanize 提供了防止重复的方法,需要考虑这个问题的时候可以解决

需要 登录 后方可回复, 如果你还没有账号请 注册新账号