首次尝试在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)
{
}
答案 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中有换行符。