使用HtmlAgilityPack实现对网页内容的抓取

首先下载HtmlAgilityPack 官网:http://htmlagilitypack.codeplex.com/

根据自己.net的版本引入dll

实现抓取博客园首页文章列表中的标题和地址,代码如下:

 1             WebClient wc = new WebClient();
 2             wc.Encoding = System.Text.Encoding.UTF8;
 3             string mainData = wc.DownloadString("http://www.cnblogs.com/");
 4             HtmlDocument htmlDoc = new HtmlDocument();
 5             htmlDoc.LoadHtml(mainData);
 6 
 7             //根据HTML节点NODE的ID获取节点
 8             HtmlNode itemList = htmlDoc.GetElementbyId("post_list");
 9 
10             //根据XPATH来索引节点
11             //div[2]表示文章链接a位于post_list里面第3个div节点中,获取所有符合该XPATH规则的HtmlNode
12             HtmlNodeCollection navNodeCollection = itemList.SelectNodes("//div[2]/h3/a");
13 
14             for (int i = 0; i < navNodeCollection.Count; i++)
15             {
16                 //获取文章链接地址
17                 string articleUrl = navNodeCollection[i].Attributes["href"].Value.ToString();
18                 //获取文章标题
19                 string articleTitle = navNodeCollection[i].InnerText;
20             }
原文地址:https://www.cnblogs.com/servant/p/3064482.html