在C#中,使用HtmlAgilityPack库可以方便地解析HTML文档并提取完整的URL。以下是一个简单的示例,展示了如何使用HtmlAgilityPack提取HTML文档中的所有URL。
首先,确保已经安装了HtmlAgilityPack库。如果尚未安装,可以使用NuGet包管理器进行安装:
Install-Package HtmlAgilityPack
接下来,使用以下代码示例提取HTML文档中的完整URL:
using System;
using System.Net.Http;
using HtmlAgilityPack;
namespace HtmlAgilityPackExample
{
class Program
{
static async System.Threading.Tasks.Task Main(string[] args)
{
var url = "https://example.com"; // 替换为要提取URL的网站
var httpClient = new HttpClient();
var htmlContent = await httpClient.GetStringAsync(url);
var htmlDocument = new HtmlDocument();
htmlDocument.LoadHtml(htmlContent);
var linkNodes = htmlDocument.DocumentNode.SelectNodes("//a[@href]");
if (linkNodes != null)
{
foreach (var linkNode in linkNodes)
{
var link = linkNode.Attributes["href"].Value;
Console.WriteLine(link);
}
}
}
}
}
在此示例中,我们首先使用HttpClient获取HTML文档的内容,然后使用HtmlAgilityPack解析HTML文档。接着,我们使用XPath查询语法选取所有具有href
属性的<a>
标签。最后,我们遍历所有选取的<a>
标签并输出其href
属性的值,即完整的URL。
注意:在实际使用中,请确保遵守目标网站的爬虫政策,尊重网站的robots.txt文件。
领取专属 10元无门槛券
手把手带您无忧上云