【发布时间】:2014-11-02 14:22:02
【问题描述】:
我在以下 URL 的命令行中使用 Nokogiri:
nokogiri 'http://www.w3schools.com/css/tryit.asp?filename=trycss_default'
当该 url 加载到 irb 会话中时,@doc 变量包含来自已解析 HTML 的 Nokogiri Node 对象,但是,它似乎遗漏了所有
<script async>
标签,虽然它会捕获
<script>
标签。以下是它似乎遗漏的异步标签:
<script async="" type="text/javascript" src="http://www.googletagservices.com/tag/js/gpt.js"> </script>
<script async="" src="//www.google-analytics.com/analytics.js"></script>
<script async="" type="text/javascript" src="http://partner.googleadservices.com/gpt/pubads_impl_48.js"></script>
并且不一致地收集<iframe>标签(捕获3个中的1个):
@doc.xpath('//iframe').each{|n| puts n.path}
/html/body/div[3]/div[2]/div/div[2]/iframe
我想知道为什么 Nokogiri 只是解析所有标签并将它们作为 Nokogiri 对象包含在 @doc 数组中。
【问题讨论】:
标签: html ruby html-parsing nokogiri