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("要抓取的網頁鏈接");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
這樣,我們就獲取電影天堂的影片分類啦。