0

我编写了一些代码,循环遍历这个结果表 并打印每个条目的 href。循环工作正常,直到达到 tr 26。有谁知道为什么?这就是我的代码现在的样子:

require 'rubygems'
require 'mechanize'
require 'nokogiri'
require 'open-uri'

#Setup

listings_page = Nokogiri::HTML(open('http://servico-informatica.vivanuncios.com/computador+rio-de-janeiro-capital/'))
listings_page.css( "#classified_table tr.classified").each do |listing|
  puts listing.css(".summary .classified-link")[0]["href"]
end

我检查了 CSS,似乎在 TR 之间没有任何改变标记的方式。我知道有不同类型的 TR(分类与广告),但这很好,因为我不想提取广告。

4

1 回答 1

1

该 URL 处的文档只有一个table带有idof 的元素classified_table

该表只有两列的一个tr元素(没有class属性)。第一个元素是另一个包含 39 个tr元素的表格。其中 35 个有一个class包含classified,而其他四个有一个类vs-advertisement

你得到了正确的结果。

于 2013-08-09T00:57:00.167 回答