gpt4 book ai didi

c# - 抓取时处理内部链接的最佳方法是什么

转载 作者:太空宇宙 更新时间:2023-11-03 21:46:27 25 4
gpt4 key购买 nike

我正在用 C# 构建网络抓取工具,并通过执行以下操作获取页面上的所有链接:

foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))

}

这是在 Internet 上运行的,因此链接可能格式不正确,甚至可能使用不同的协议(protocol)。将/gohere/index.html 或 potato.php 等内部链接转换为也包含网站 URL 的外部链接的最佳方法是什么。

最佳答案

这可以很容易地完成,您可以使用用于获取页面的 Uri 构造一个新的 Uri。

像这样:

Uri baseUri = new Uri("http://www.contoso.com");
Uri myUri = new Uri(baseUri, "catalog/shownew.htm");

Console.WriteLine(myUri.ToString());

更多信息:http://msdn.microsoft.com/en-us/library/9hst1w91.aspx

这适用于相对和绝对 href,因此无需检查,您只需“转换”您在类似页面上找到的每个链接。

关于c# - 抓取时处理内部链接的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16761635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com