-1
我正在尝试使用nokogiri来为某些div文本刮页。提取div元素(Nokogiri/XPath/ruby)
HTML中的模式看起来像这样。它有数百或div的,这样的格式是这样的:
<div class="thing text-text" data-thing-id="29966403">
<div class="thinguser"><i class="ico ico-water ico-blue"></i>
<div class="status">in 7 days
</div>
</div>
<div class="ignore-ui pull-right"><input type="check box" >
</div>
<div class="col_a col text">
<div class="text">foobar
</div>
</div>
<div class="col_b col text">
<div class="text">foobar desc
</div>
</div>
</div>
(约坏格式抱歉)
我只是想抓住ID(数据事-ID),并从每个为col_a文本代码块,使输出的样子:
29966403 foobar
29964234 barfoo
下面的代码我现在有不工作:
#!/usr/bin/env ruby
require 'nokogiri'
require 'open-uri'
tids = Array.new
terms = Array.new
doc = Nokogiri::HTML(open("http://somewebsite.com/"))
tids = doc.xpath("//div[contains(@class,'thing')]/data-thing-id()").collect {|node| node.text.strip}
terms = doc.xpath("//div[contains(@class,'col_b')]/text()").collect {|node| node.text.strip}
tids.zip(terms).each do |tid.term|
puts tid+" "+term
end
在此先感谢, 克里斯
会有人还跟详细解释一下TIDS和术语分配线在做什么?我试图从
@ user1117603我已经添加了解释。简短的回答是 - 是的,你应该阅读xpath文档。 –
再次感谢你。 – user1117603