本例中主要是通过HtmlAgilityPack解析html源码获取所需的数据.
using HtmlAgilityPack;
1.通过C#中WebRequest,WebResponse,StreamReader类获取网页源代码
WebRequest request = WebRequest.Create(url);
using (WebResponse response = request.GetResponse())
using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding))
result = reader.ReadToEnd();
2.通过网页URL获取HtmlNode ,通过HtmlAgilityPack中的HtmlDocument类获取
HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument();
document.LoadHtml(htmlSource);
HtmlNode rootNode = document.DocumentNode;
return rootNode;
3.通过HtmlNode的SelectSingleNode方法就可获取你所需要的内容了,注意以下代码中path是HTML的标签路径如:path="//div[@class='article_title']/h1/span/a";//文章标题PATH
对应于
<div class=’article_title’>
<h1>
<span>
<a>获取这里的内容
</a>
</span>
</h1>
</div>
参考源码如下:
HtmlNode temp = srcNode.SelectSingleNode(path);
if (temp == null)
return null;
return temp.InnerText;
返回值为: 获取这里的内容
其中temp.InnerHtml可获取网站HTML的内容如:<a>获取这里的内容</a>