如何使用Nokogiri解析页面?

时间:2013-04-28 01:50:01

标签: ruby parsing nokogiri

我正在尝试解析下面doc变量中显示的网址。我的问题是job变量。当我返回它时,它返回页面上的每个作业标题,而不是给定评论的特定作业标题。有没有人建议如何返回我所指的具体职称?

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

1 个答案:

答案 0 :(得分:0)

在每种情况下,item.parent看起来都是#MainCol,换句话说就是整个列。

item.parent.css更改为item.css可以解决您的问题。