从HTML解析财务信息

时间:2012-06-05 12:17:43

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

首次尝试在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)
        {

        }

1 个答案:

答案 0 :(得分:0)

嗯,首先,不需要先获取正文,您可以直接查询文档以查找所需内容。至于找到你正在寻找的价值,你可以这样做:

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次调用,因为某些元素的innertext中有换行符。