我正在尝试使用Nokogiri抓取this页面,以获取类名为“teaser”的所有元素。
如果我用jQuery检查页面,我可以看到有25个元素:
$(".teaser").length => 25
然而,当使用Nokogiri时,我只得到第一个预告片:
teasers = doc.css('.teaser')
teasers.count => 1
我哪里错了?我怎么得到所有的戏弄?
答案 0 :(得分:1)
由于某种原因,该文档似乎在其中加载了空字节,这导致Nokogiri / LibXML假定文档已完成部分。
您应该能够通过预处理内容来删除空值来修复它。如果page
包含网页文字:
page.gsub! /\x00/, ''
然后像以前一样在page
上使用Nokogiri。