我正在尝试解析下面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
答案 0 :(得分:0)
在每种情况下,item.parent
看起来都是#MainCol
,换句话说就是整个列。
将item.parent.css
更改为item.css
可以解决您的问题。