例如抓主页中的阅读量 `class=s1`的`span`,无法获取此节点,而`s2`的则无内容。
请问这是什么问题呢?如何解决?谢谢。
1 HtmlWeb web = new HtmlWeb(); 2 HtmlDocument doc = web.Load("http://weixin.sogou.com"); 3 HtmlNode node = doc.GetElementbyId("pc_0_0");//输出node中找不到span_s1节点 4 StreamWriter sw = File.CreateText("log.txt"); 5 foreach (HtmlNode child in node.ChildNodes) 6 { 7 if (child.Name != "li") 8 continue; 9 HtmlNode hn = HtmlNode.CreateNode(child.OuterHtml); 10 11 Write(sw, String.Format("公众号:{0}", hn.SelectSingleNode("//*[@class=\"account\"]").InnerText)); 12 Write(sw, String.Format("地址:{0}", hn.SelectSingleNode("//*[@class=\"account\"]").Attributes["href"].Value)); 13 Write(sw, String.Format("标题:{0}", hn.SelectSingleNode("//h3").InnerText)); 14 Write(sw, String.Format("地址:{0}", hn.SelectSingleNode("//h3").SelectSingleNode("//a").Attributes["href"].Value)); 15 Write(sw, String.Format("缩略图:{0}", hn.SelectSingleNode("//*[@class=\"img-box\"]").SelectSingleNode("//img").Attributes["src"].Value)); 16 //Write(sw, String.Format("阅读量:{0}", hn.SelectSingleNode("//*[@class=\"s1\"]").InnerText)); //节点找不到 17 Write(sw, String.Format("简介:{0}", hn.SelectSingleNode("//*[@class=\"txt-info\"]").InnerText)); 18 } 19 sw.Close(); 20 Console.ReadLine();
建议你把xpath语法好好看看