我正在尝试使用 nokogiri 循环访问表并获取 href 属性值。
我的代码如下所示:
require 'nokogiri'
require 'open-uri'
def company_bod(abbrv)
doc=Nokogiri::HTML(open("http://in.reuters.com/finance/stocks/companyOfficers?symbol=#{abbrv}"))
data = doc.css('.column1 tbody.dataSmall').first if doc.css('.column1')
data.css('tr').each do |col|
puts col.xpath('//td/h2/a/@href').text()
#puts col.css('td[2]').text()
#puts col.css('td[3]').text()
#puts col.css('td[4]').text()
end
company_bod("GOOGL.O")
但这在 http://in.reuters.com/finance/stocks/companyOfficers?symbol=GOOGL.O 上存在的所有表中向我返回了一组 URL,而我只需要它只遍历摘要选择 href 属性值下方的表。
我在这里做错了什么?
您需要将 xpath 查询锚定在元素上
-
node.xpath("//example")
进行全局搜索 -
node.xpath(".//example")
从当前节点开始执行本地搜索
请注意将查询定位在当前节点的前导点.
。否则,查询将针对根节点运行,即使您从当前节点调用它也是如此。