2013-12-24 4 views
2

При попытке поиска документа для ysr-bio-data (значение «Высота») на этой странице http://sports.yahoo.com/footballrecruiting/football/recruiting/player-Jonathan-Allen-125805Использование Nokogiri Я не могу найти определенные узлы в документе

Узел равен нулю. Это потому, что nokogiri получает страницу до заполнения этого раздела? Или это то, что объект nokogiri не сохраняет всю страницу в свой объект? Ниже приведен пример кода того, как я пытаюсь получить данные. Благодаря!

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

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

Если мне нужно предоставить дополнительную информацию, пожалуйста, дайте мне знать. Благодаря!

Редактировать: Исправлен неверный синтаксис.

+0

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

+0

использовать только 'doc.css ('# ysr-bio-data')' форму. –

+0

@majioa, мои извинения Я использовал цитаты в моем коде, просто не скопировал правильно. С кавычками я все еще не получаю объект узла обратно. благодаря! – daveomcd

ответ

1

Извините бутон, но есть 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 URI.

Надеюсь, это поможет.

Смежные вопросы