如何通过CSS类获取所有元素

时间:2016-09-12 18:14:39

标签: ruby-on-rails ruby nokogiri

我正在尝试使用Nokogiri抓取this页面,以获取类名为“teaser”的所有元素。

如果我用jQuery检查页面,我可以看到有25个元素:

$(".teaser").length => 25

然而,当使用Nokogiri时,我只得到第一个预告片:

teasers = doc.css('.teaser')
teasers.count => 1

我哪里错了?我怎么得到所有的戏弄?

1 个答案:

答案 0 :(得分:1)

由于某种原因,该文档似乎在其中加载了空字节,这导致Nokogiri / LibXML假定文档已完成部分。

您应该能够通过预处理内容来删除空值来修复它。如果page包含网页文字:

page.gsub! /\x00/, ''

然后像以前一样在page上使用Nokogiri。