【问题标题】:How to get all elements via CSS class如何通过 CSS 类获取所有元素
【发布时间】:2016-09-14 03:15:57
【问题描述】:

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

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

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

但是,在使用 Nokogiri 时,我只得到了第一个预告:

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

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

【问题讨论】:

标签: ruby-on-rails ruby nokogiri


【解决方案1】:

由于某种原因,该文档中似乎有大量空字节,这导致 Nokogiri/LibXML 假定该文档已经完成了一部分。

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

page.gsub! /\x00/, ''

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-06
    • 2012-01-22
    • 2022-01-05
    • 2011-07-14
    • 2020-04-11
    • 1970-01-01
    • 2015-06-03
    相关资源
    最近更新 更多