2013-04-28 4 views
0

Я пытаюсь проанализировать URL-адрес, указанный в переменной doc ниже. Моя проблема связана с переменной job. Когда я верну его, он возвращает каждое название задания на странице вместо этого конкретного названия задания для данного обзора. Есть ли у кого-нибудь совет, как вернуть конкретный титул работы, о котором я говорю?Как разобрать страницу с помощью Nokogiri?

require 'nokogiri' 
require 'open-uri' 

# Perform a google search 
doc = Nokogiri::HTML(open('http://www.glassdoor.com/Reviews/Microsoft-Reviews-E1651.htm')) 

reviews = [] 


current_review = Hash.new 

doc.css('.employerReview').each do |item| 
    pro = item.parent.css('p:nth-child(1) .notranslate').text 
    con = item.parent.css('p:nth-child(2) .notranslate').text 
    job = item.parent.css('.review-microdata-heading .i-occ').text 
    puts job 
    advice = item.parent.css('p:nth-child(3) .notranslate').text 

    current_review = {'pro' => pro, 'con' => con, 'advice' => advice} 

    reviews << current_review 
end 

ответ

0

Похоже, item.parent в каждом случае #MainCol, другими словами, весь столбец.

Изменение item.parent.css до item.css должно решить вашу проблему.

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