【问题标题】:Parsing Financial information from HTML从 HTML 解析财务信息
【发布时间】:2012-06-05 12:17:43
【问题描述】:

第一次尝试学习在 Visual Studio 和 C# 中使用 HTML。我正在使用html agility pack 库。进行解析。

page 我试图从每个季度的“净收入”行中提取数字。

这是我目前的进展,(但我不确定如何进一步进行):

        String url = "http://www.google.com/finance?q=NASDAQ:TXN&fstype=ii"
        var webGet = new HtmlWeb();
        var document = webGet.Load(url);
        var body = document.DocumentNode.Descendants()
                            .Where(n => n.Name == "body")
                            .FirstOrDefault();

        if (body != null)
        {

        }

【问题讨论】:

    标签: visual-studio-2010 c#-4.0 html-agility-pack


    【解决方案1】:

    好吧,首先不需要先获取body,你可以直接在文档中查询你想要的。至于找到您正在寻找的价值,您可以这样做:

    HtmlNode tdNode = document.DocumentNode.DescendantNodes()
      .FirstOrDefault(n => n.Name == "td"
        && n.InnerText.Trim() == "Net Income");
    if (tdNode != null)
    {
      HtmlNode trNode = tdNode.ParentNode;
      foreach (HtmlNode node in trNode.DescendantNodes().Where(n => n.NodeType == HtmlNodeType.Element))
      {
        Console.WriteLine(node.InnerText.Trim());
        //Output:
        //Net Income
        //265.00
        //298.00
        //601.00
        //672.00
        //666.00
      }
    }
    

    还要注意Trim 调用,因为某些元素的内部文本中有换行符。

    【讨论】:

    猜你喜欢
    • 2012-02-21
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    相关资源
    最近更新 更多