【发布时间】:2017-11-09 00:10:55
【问题描述】:
我的 main 函数中有这段代码,我只想解析表的第一行(例如 Nov 7, 2017 73.78 74.00 72.32 72.71 17,245,947)。
我创建了一个仅结束第一行的节点,但是当我开始调试时,节点值为空。如何解析这些数据并将它们存储在例如字符串或单个变量中。有办法吗?
WebClient web = new WebClient();
string page = web.DownloadString("https://finance.google.com/finance/historical?q=NYSE:C&ei=7O4nV9GdJcHomAG02L_wCw");
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(page);
var node = doc.DocumentNode.SelectSingleNode("//*[@id=\"prices\"]/table/tbody/tr[2]");
List<List<string>> node = doc.DocumentNode.SelectSingleNode("//*[@id=\"prices\"]/table").Descendants("tr").Skip(1).Where(tr => tr.Elements("td").Count() > 1).Select(tr => tr.Elements("td").Select(td=>td.InnerText.Trim()).ToList()).ToList() ;
【问题讨论】:
标签: c# web-scraping html-agility-pack