2013-04-28 77 views
0

我想解析下面的变量doc中显示的URL。我的问题是与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应解决您的问题。