gpt4 book ai didi

css - 我如何在 Nokogiri 中指定 XPATH 或 CSS 来抓取页面的表格数据?

转载 作者:太空宇宙 更新时间:2023-11-03 23:50:50 25 4
gpt4 key购买 nike

我正在尝试使用 Nokogiri 和 Ruby 1.9.3 抓取包含财务数据的页面。

我无法使用正确的 XPath 或 CSS 过滤器来获取保存数据的表,然后遍历数据并组装它,以便可以将输出放入 CSV 文件中,如下所示:

Date, Company,Symbol,ReportedEPS,Consensus EPS  
20130828,CDN WESTERN BANK,CWB.TO,0.60,0.59

我使用 Firebug 获取 XPath 和 CSS 数据。 XPath 或 CSS 的正确格式是什么来提取表格然后遍历行以将它们组合起来输出到文件?

require 'rubygems'
require 'mechanize'
require 'nokogiri'
require 'uri'

@agent = Mechanize.new do|a|
a.user_agent_alias = "Windows IE 6"
end

url = "http://biz.yahoo.com/z/20130828.html"
page = @agent.get(url)
doc = Nokogiri::HTML(page.body)
puts doc.inspect

#~ from firebug
#~ xpath /html/body/p[3]/table/tbody
#~ css html body p table tbody

最佳答案

一些浏览器会添加一个<tbody><table>当他们解析/验证/修复传入的 HTML 时。 Firefox 就是其中的一种浏览器。您从 Firefox 中获取的 XPath 和 CSS 表达式是针对 Firefox 所见的 HTML,而这不一定是 Nokogiri 所见的 HTML。

删除 <tbody>并试试这个 XPath:

/html/body/p[3]/table

定位表格。您还可以查看原始 HTML 并查看是否有 id属性或 class可以与 CSS 一起使用的表格属性 id ( #the-id ) 或类 ( .the-class ) 选择器而不是元素的大路径。

关于css - 我如何在 Nokogiri 中指定 XPATH 或 CSS 来抓取页面的表格数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20208131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com