0

我正在使用 HTTParty 访问和解析某些网页。

使用我通常的方法:

response = HTTParty.get(url)
doc = Nokogiri::HTML(response)
doc.css('ul').each do |link|
  p link
end

一切顺利,直到我到达一个有“块”类的页面。请参阅下面的 html 树:

<li class="river-block">        
 <div class="block block-thumb"> 

  <div class="block-content"> 
    Some content that I want                            
  </div>            

 </div>         
</li>

例如:

 doc.css('ul li').each do |link|
  p link
end

或者

doc.css('ul li.river-block').each do |link|
  p link
end

什么都不返回。

什么是此类“块”或“块内容”?它是用来阻止这种类型的访问,还是我只是以错误的方式去做?如果是这样,还有其他方法可以阅读内容吗?

4

1 回答 1

0

我已经得出了答案。页面本身在加载前延迟了几毫秒——这意味着 Nokogiri 收到的 html 或多或少是空的。所以现在我正在寻找一种让 Nokogiri 在加入之前延迟的方法。事实证明,“块”类只是一个 Drupal 块主题。一点都不神秘!

于 2013-11-12T21:57:04.937 回答