htmlagilitypack官网:https://html-agility-pack.net/?z=codeplex
.net中使用htmlagilitypack做爬虫步骤:
1、在nuget中安装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中,这样我们就好办了
直接用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 }
这样,我们就获取电影天堂的影片分类啦。