这两天公司不是很忙,在某个网站看见别人爬虫出来的数据感觉很有兴趣就玩了一把,网上找了一个 HtmlAgilityPack 爬虫框架,用了一下感觉很不错
首先从Nuget上面更新Package:HtmlAgilityPack
然后就可以开始码代码了,这个框架的具体使用方法详见百度,2333
比如之家的:
private void Ithome() { HtmlWeb web = new HtmlWeb(); HtmlDocument doc = web.Load("https://www.ithome.com/"); HtmlNode node = doc.GetElementbyId("con"); var allnode = node.SelectSingleNode("//*[@class=\"con-block\"]"); var contentnode = allnode.SelectSingleNode("//*[@class=\"rt\"]"); var alltab = contentnode.SelectSingleNode("//*[@class=\"nlst\"]"); var newlist = alltab.SelectSingleNode("//*[@class=\"lst lst-1 new-list\"]"); var div = newlist.ChildNodes[1]; foreach (var item in div.ChildNodes) { foreach (var li in item.ChildNodes) { HtmlNode newnode = HtmlNode.CreateNode(li.OuterHtml); Console.Write($"{newnode.SelectSingleNode("//*[@class=\"date\"]").InnerText.Trim()}:"); Console.WriteLine($"{newnode.SelectSingleNode("//*[@class=\"title\"]").InnerText.Trim()}"); Console.WriteLine($"地址:{newnode.SelectSingleNode("//*[@class=\"title\"]").ChildNodes[0].Attributes["href"].Value}"); } Console.WriteLine("========================================"); } }
demo地址:爬虫