首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用HtmlAgilityPack提取完整的URL - C#

在C#中,使用HtmlAgilityPack库可以方便地解析HTML文档并提取完整的URL。以下是一个简单的示例,展示了如何使用HtmlAgilityPack提取HTML文档中的所有URL。

首先,确保已经安装了HtmlAgilityPack库。如果尚未安装,可以使用NuGet包管理器进行安装:

代码语言:txt
复制
Install-Package HtmlAgilityPack

接下来,使用以下代码示例提取HTML文档中的完整URL:

代码语言:csharp
复制
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文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

.NET Core 实现定时抓取博客园首页文章信息并发送到邮箱

前言 大家好,我是晓晨。许久没有更新博客了,今天给大家带来一篇干货型文章,一个每隔5分钟抓取博客园首页文章信息并在第二天的上午9点发送到你的邮箱的小工具。比如我在2018年2月14日,9点来到公司我就会收到一封邮件,是2018年2月13日的博客园首页的文章信息。写这个小工具的初衷是,一直有看博客的习惯,但是最近由于各种原因吧,可能几天都不会看一下博客,要是中途错过了什么好文可是十分心疼的哈哈。所以做了个工具,每天归档发到邮箱,妈妈再也不会担心我错过好的文章了。为什么只抓取首页?因为博客园首页文章的质量相对来

03

.NET Core 实现定时抓取博客园首页文章信息并发送到邮箱

大家好,我是晓晨。许久没有更新博客了,今天给大家带来一篇干货型文章,一个每隔5分钟抓取博客园首页文章信息并在第二天的上午9点发送到你的邮箱的小工具。比如我在2018年2月14日,9点来到公司我就会收到一封邮件,是2018年2月13日的博客园首页的文章信息。写这个小工具的初衷是,一直有看博客的习惯,但是最近由于各种原因吧,可能几天都不会看一下博客,要是中途错过了什么好文可是十分心疼的哈哈。所以做了个工具,每天归档发到邮箱,妈妈再也不会担心我错过好的文章了。为什么只抓取首页?因为博客园首页文章的质量相对来说高一些。

08
领券