如何使用ruby/nokogiri获取日期:
<p class="class1">
Expires 15/07/2011. that is my graduation day.</p><p>something else here</p>
我的意思是要赶上日期。我读了论坛,建议我使用这样的东西:
exp = node.at('[text()="Expires"]').next.text
return exp
This:
exp = node.at('[text()="Expires"]')
不起作用,因为它正在寻找恰好是"Expires"
的文本节点,而您正在寻找与/^s*Expires/
匹配的文本节点。您可能会用一堆讨厌的XPath找到您的<p>
,或者您可以找到段落并在Ruby中进行搜索:
doc = Nokogiri::HTML(your_html)
node = doc.search('p').find { |n| n.content[/^s*Expires/] }
return nil if(!node)
exp = node.content.match(/d{2}/d{2}/d{4}/)
return exp ? exp[0] : nil