.net 使用HtmlAgilityPack做爬虫

HtmlAgilityPack官网:https://html-agility-pack.net/?z=codeplex

.net中使用HtmlAgilityPack做爬虫步骤:

1、在nuget中安装HtmlAgilityPack

 

安装好之后我们就可以开始我们的爬虫之旅了

2、抓取网页源代码

1 var web = new HtmlWeb();
2 var doc = web.Load("要抓取的网页链接");
View Code

至此,我们就得到了网页的源代码了,然后用HtmlDocument来操作

还有一些特殊性质的需要填装验证数据的抓取,我们可以通过HttpWebRequest或者HttpClient来获取网页源代码

1 var htmlTxt =获取html的string的方法;
2 var doc = new HtmlDocument();
3 doc.LoadHtml(htmlTxt);
View Code

3、进行数据筛选清洗

举个栗子:

我们现在抓取电影天堂的数据:https://www.dytt8.net

我们先抓取他的分类,我们打开https://www.dytt8.net  然后右键查看源代码,发现分类处于div  class 为contain中,这样我们就好办了

直接用HtmlDocument获取 class为contain的所有a标签

 1 var list =doc.DocumentNode.SelectNodes("//div[@class='contain']/ul/li/a");
 2 
 3 
 4  foreach (var item in list)
 5 {
 6     //获取a标签下面的href
 7      var url = item.Attributes["href"].Value;
 8       // 获取a标签的文本
 9      var txt =item.InnerHtml;
10 }
View Code

这样,我们就获取电影天堂的影片分类啦。

 

posted @ 2019-04-15 09:56  老李的自我救赎之路。  阅读(1579)  评论(2编辑  收藏  举报