首页 > 解决方案 > 获取页面上的所有链接 - HtmlAgilityPack

问题描述

我正在尝试使用 HtmlAgilityPack 从网页获取所有链接(a[href] 链接);

我的代码

HtmlWeb web = new HtmlWeb();
HtmlDocument site = web.Load("https://www.google.com/");
HtmlNodeCollection links = site.DocumentNode.SelectNodes("//a[@href]");
foreach (HtmlNode link in links)
{
    Console.WriteLine(link.GetAttributeValue("href", "DefaultValue"));   
}

问题:我注意到我的代码没有从页面中获取“所有”链接并且错过了一些链接......

我使用 Jsoup Java 的结果

我使用 HtmlAgilityPack C# 的结果

我用Java中的JSoup做到了这一点,它运行良好。(谷歌主页上有16个链接)但是HtmlAgilityPack我在同一页面上获得了13个链接......或者问题可能出在其他东西上......(有一个问题也有相对链接,但稍后会修复)

标签: c#web-scrapinghtml-parsinghtml-agility-packhtml-parser

解决方案


推荐阅读