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

How to get all elements via CSS class

我正在尝试使用 Nokogiri 抓取 this 页面以获取名称为 class 且名称为 "teaser" 的所有元素。

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

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

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

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

我哪里错了?我如何获得所有预告片?

由于某种原因,该文档似乎包含大量空字节,这导致 Nokogiri/LibXML 假设文档已经完成了一半。

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

page.gsub! /\x00/, ''

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