<div class='top'> <h2>xxx</h2> <p>nnn</p> <p>lll</p> <div>77</div> </div>
如果想获取 div 下面所有 p 的内容,怎么写了?不要 h2, 也不要 div , 就只要包含有 p 的标签
doc.css(".top p")
@cqpx 如果只想取得第一个 p 的内容了?
#2 楼 @luffycn doc.at_css(".top p")
Nokogiri Cheat sheet
doc.css(".top p") 应该是个 NodeSet 对象,表现跟数组差不多,你用 doc.css(".top p")[0] 试试
研究了好长时间才搞定,发现只需要 doc.css(".top").children 就可以了,遇到这种问题 用 p 打印出来看看结构就知道了
doc.css(".top").children
建议用 mechanize, 基于 Nokogiri 的,非常好用
doc.xpath("./div//p").map(&:content)
@cifery 我就一直是在用 mechanize