ruby-on-rails - 使用 Nokogiri 我无法在文档中找到某些节点

标签 ruby-on-rails ruby nokogiri

尝试在此页面上搜索文档以查找 ysr-bio-data(“高度”值)时 http://sports.yahoo.com/footballrecruiting/football/recruiting/player-Jonathan-Allen-125805

节点为零。这是因为 nokogiri 在填充此部分之前获取页面吗?还是 nokogiri 对象没有将整个页面存储到它的对象中? 下面是我如何尝试检索数据的一些示例代码。谢谢!

doc = Nokogiri::HTML(open('http://sports.yahoo.com/footballrecruiting/football/recruiting/player-Jonathan-Allen-125805'))

doc.css('ul#ysr-bio-data')

如果我需要提供任何其他信息,请告诉我。谢谢!

编辑:修复了不正确的语法。

最佳答案

抱歉,伙计,但是需要在页面上运行 javascript 才能填写这些单元格。

你可以这样做......让javascript在网络浏览器中运行..

require 'nokogiri' 
require 'watir-webdriver' #http://watir.com/

$browser = Watir::Browser.start "http://sports.yahoo.com/footballrecruiting/football/recruiting/player-Jonathan-Allen-125805"

doc = Nokogiri::HTML.parse($browser.html)

doc.css("ul#ysr-bio-data").text
=>  "Ht:6'3\"Wt:263 lbs40:4.5 secsBench Max:280Class:2013 (High School)\t"

我们基本上是用 watir 替换 open-uri。

希望这对您有所帮助。

关于ruby-on-rails - 使用 Nokogiri 我无法在文档中找到某些节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20762217/

相关文章:

ruby-on-rails - 如何创建自定义路由助手以供在 routes.rb 中使用

ruby-on-rails - html.erb 中的条件内容

ruby-on-rails - Rails 2 个表,1 个模型

html - 如何使用 Ruby 解析 HTML 文件标题

xpath - 使用Xpath和Nokogiri选择特定的div元素?

ruby-on-rails - 如何使用 Nokogiri 验证 XML?

ruby-on-rails - 关联的 ActiveRecord STI 外键覆盖

ruby - 在 Ruby 中将转义的 unicode (\u008E) 转换为重音字符 (Ž)?

ruby-on-rails - Rails 查询执行导致数据库峰值

ruby - 如何创建注入(inject)方法的自定义实现?