ruby-on-rails - 未定义的方法错误单击简单的 webscraper

标签 ruby-on-rails ruby-on-rails-3 nokogiri mechanize mechanize-ruby

task :fetch_front => :environment do 
require 'rubygems'  
require 'nokogiri'
require 'open-uri'
require 'mechanize'
  agent = Mechanize.new

  agent.get("http://www.reddit.com/")

  agent.page.search("a.title").each do |thread|
   thread.click

  end
end

我正在使用 mechanize 进入第一页上的每个 reddit 线程并返回每个线程的顶部评论。 each 方法中的“线程”块返回每个 reddit 线程的链接。问题是我不知道如何点击进入线程并返回每个线程的最高评论 .

使用我当前的代码,它返回 undefined method click当我尝试单击每个线程以显示评论时出错。

最佳答案

调用 click在代理上并将您要单击的内容作为参数传递:

agent.click(thread)

关于ruby-on-rails - 未定义的方法错误单击简单的 webscraper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27910916/

相关文章:

ruby-on-rails - Rails 动态重命名 url 中的模型名称

ruby-on-rails - 不包括 Rails/Heroku/Assets

ruby-on-rails - Rails 页面缓存和自动扩展的问题

ruby - 用于深层嵌套元素的 XPath?

ruby - 我如何使用 Nokogiri 创建一个独特的阵列?

ruby-on-rails - 我应该在 HABTM 表中包含其他字段吗?

ruby-on-rails - 在 Rails 应用程序中为管理界面定义单独的 View 和 Assets

ruby-on-rails - Rails db 不会将字符串保存为 m/d/y 格式的日期?

ruby-on-rails - Rails 如何处理不同服务器上的并发请求?

ruby-on-rails - 如何将 Nokogiri 中抓取的数据保存到 Rails 数据库中?