加载(X)
HTML页面后,我试图获取元标记的“内容”属性的值.例如,给定:
<Meta name="author" content="John Smith" />
我想提取价值“约翰史密斯”.
我知道如何使用XPath并理解CSS主要用于元素选择,但Nokogiri支持定义custom CSS pseudoclasses我认为可以使用如下:
class CSSext def attr(nodeset,tag) nodeset.first.attribute_nodes.find_all {|node| node.name == tag} end end doc = Nokogiri::HTML(open(someurl)) doc.css("Meta[name='name']:attr('content')",CSSext.new)
但是,这会返回相同的结果
doc.css("Meta[name='name']")
是什么赋予了? Nokogiri使用相同的引擎进行CSS和XPath搜索,因此在XPath中可能的任何东西都应该在CSS中可行.我该如何提取属性值?