第一步,

打开Visual Studio 2019

提取网页链接的方法(如何提取网页中的所有链接)(1)

,如下图所示:

提取网页链接的方法(如何提取网页中的所有链接)(2)

第二步,

点击文件,新建项目,选择C#项目、Linux的控制台项目,如下图示:

提取网页链接的方法(如何提取网页中的所有链接)(3)

提取网页链接的方法(如何提取网页中的所有链接)(4)

提取网页链接的方法(如何提取网页中的所有链接)(5)

第三步,

鼠标右键点击解决方案、项目下的依懒项,如下图所示:

提取网页链接的方法(如何提取网页中的所有链接)(6)

鼠标左键选择管理NuGet程序包,然后出现如下图界面:

提取网页链接的方法(如何提取网页中的所有链接)(7)

点击浏览,输入AngleSharp 名称,如下图所示:

提取网页链接的方法(如何提取网页中的所有链接)(8)

选择上图第一项,点击右侧的安装按钮,如下图所示:

提取网页链接的方法(如何提取网页中的所有链接)(9)

鼠标点击上图中的确定按钮,出现以下界面:

提取网页链接的方法(如何提取网页中的所有链接)(10)

表示已经将依懒项AngleSharp安装到了项目中,如下图所示:

提取网页链接的方法(如何提取网页中的所有链接)(11)

第四步,

右键双击解决方案项目下的Program.cs,打开源代码文件Program.cs,编写以下代码,

using System;

using System.Linq;

using AngleSharp;

using AngleSharp.Html.Dom;

namespace ConsoleGetAllLink

{

class Program

{

/// <summary>

/// 读取网页的所有链接

/// </summary>

static async void ReadAllLink()

{

//创建一个场景

var context = BrowsingContext.New(Configuration.Default.WithDefaultLoader());

//以异步方式打开hao123网址首页

var document = await context.OpenAsync("https://www.hao123.com/");

//查询hao123网址首页中所有的链接

var allLinks = document.All.Where(m => m.LocalName == "a");

//循环输出链接的名称和网址

foreach(var link in allLinks)

{

IHtmlAnchorElement ilink = link as IHtmlAnchorElement;

Console.WriteLine($"{ilink.TextContent} ,{ilink.Href}");

}

}

static void Main(string[] args)

{

//读取网页的所有链接

ReadAllLink();

if(Console.ReadLine().ToLower() == "q")

{

}

}

}

}

第五步,

按F5键调试运行,如下图所示:

提取网页链接的方法(如何提取网页中的所有链接)(12)

运行结果:

提取网页链接的方法(如何提取网页中的所有链接)(13)

提取网页链接的方法(如何提取网页中的所有链接)(14)

提取网页链接的方法(如何提取网页中的所有链接)(15)

提取网页链接的方法(如何提取网页中的所有链接)(16)

提取网页链接的方法(如何提取网页中的所有链接)(17)

,