欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

.net 使用HtmlAgilityPack做爬虫

程序员文章站 2022-06-18 10:10:19
HtmlAgilityPack官网:https://html-agility-pack.net/?z=codeplex .net中使用HtmlAgilityPack做爬虫步骤: 1、在nuget中安装HtmlAgilityPack 安装好之后我们就可以开始我们的爬虫之旅了 2、抓取网页源代码 1 v ......

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

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

1、在nuget中安装htmlagilitypack

.net  使用HtmlAgilityPack做爬虫

 

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

2、抓取网页源代码

1 var web = new htmlweb();
2 var doc = web.load("要抓取的网页链接");

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

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

1 var htmltxt =获取html的string的方法;
2 var doc = new htmldocument();
3 doc.loadhtml(htmltxt);

3、进行数据筛选清洗

举个栗子:

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

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

.net  使用HtmlAgilityPack做爬虫

直接用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 }

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