.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
安装好之后我们就可以开始我们的爬虫之旅了
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 }
这样,我们就获取电影天堂的影片分类啦。
推荐阅读
-
使用NLog给Asp.Net Core做请求监控的方法
-
asp.net core 使用 TestServer 来做集成测试的方法
-
Asp.Net Core 使用Quartz基于界面画接口管理做定时任务
-
.net mvc + layui做图片上传(二)—— 使用流上传和下载图片
-
NetCore入门篇:(九)Net Core项目使用Session及用Redis做分布式
-
python使用selenium库做基本的反反爬虫
-
.net core 3.0 Signalr - 04 使用Redis做底板来支持横向扩展
-
关于.net core使用nginx做反向代理获取客户端ip的问题
-
使用scrapy做爬虫遇到的一些坑:爬虫使用scrapy爬取网页返回403错误大全以及解决方案
-
.net 使用HtmlAgilityPack做爬虫