我一直在与nokogiri库斗争,以便从web获取(刮取)内容,我未能理解如何只获得没有嵌套标签的文本。下面是我解析的
<div class="line1">text I need
<br><div class="podp_k">group:</div><a class="GR" title="go to this group" href="#" rel="?sectID=2">group 1</a>
<br>
<div class="podp_k">brand:</div><a class="BR" title="go to brand" href="#" rel="?sectID=0&brand=16">China CHINA</a>
</div>
我是这样刮的
tagcloud_elements = nokogiri_object.css("div#products_tbody > table > tbody > tr > td > div.line1 > text()")
f.puts tagcloud_element.text.gsub(/^s+/,'')
末尾的gsub几乎完全符合我的需要,但我在后面留下了一些空白。有没有人能从上面的例子中提出最好的方法来获得"我需要的文本"?
如果您不再使用该文档,我会删除此部分中的其他节点。
nokogiri_object.css("div.line1 *").each(&:remove)
nokogiri_object.at_css("div.line1").text.strip # => "text I need"