【问题标题】:How can I extract tabular values from a HTML source in Qt?如何从 Qt 中的 HTML 源中提取表格值?
【发布时间】:2017-05-06 08:03:40
【问题描述】:

我正在尝试创建一个应用程序,该应用程序可以从任意页面提取财务数据,而不管财务报表格式或惯例如何。所以基本上我想解析或提取一个字段/值并将相同的字段写入桌面上的 CSV 或 Excel 文件。以下引用说明了我想要做什么;

解析(每个 HTML 行)--> 值 --> 写入(file.csv,值)

在上述过程中,我完全习惯于写入 CSV 或 Excel 文件;我的问题是 HTML 代码部分的解析。

显然,我可以扫描 HTML 页面以查找表语法,然后提取值;但我担心这对于包含多个标签的网页来说是徒劳的。因为每个选项卡可能加载不同的数值,例如,财务网站可能有 2 个选项卡用于年度和季度报告。我没有使用 HTML 的经验,但我愿意学习并解决这个问题。但在我继续之前,我想在 Qt 中是否有任何直接或更聪明的方法?我不想在这里重新发明轮子。谢谢你。

【问题讨论】:

    标签: html excel qt csv


    【解决方案1】:

    您可以使用: 1. QRegExp(旧类)或 QRegularExpression 用于匹配简单模式。但是你必须学习正则表达式语法。我建议学习它例如,您可以为匹配模式构建表达式,例如:数据名称:数字(如 4354.65 等)。这是多种语言的通用编程解决方案。
    2. QDomDocument 类提供了很好的接口来解析具有树值的ml(html,xml)文档。 QDomDocument 很慢,使用 mutch 内存,但您可以从特定的标签树中获取价值。很复杂。

    重新加载页面时选项卡没有问题。简单的 html 页面需要为您设置所有选项卡。 Only when tabs is link or use AJAX you need physical "click" to tab for get new data.您必须下载两个 html 页面进行解析。 一些好的页面可以让你进行站点地图。尝试解析它以获得有趣的地址。

    【讨论】:

    • 谢谢兄弟 :) 我会尝试你的建议。干杯。
    猜你喜欢
    • 2020-08-07
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 2018-06-11
    • 2020-06-30
    • 2012-06-07
    • 2021-03-22
    • 2021-06-15
    相关资源
    最近更新 更多