gpt4 book ai didi

c# - 我应该如何在CsQuery中获取绝对URL?

转载 作者:行者123 更新时间:2023-12-01 07:57:46 29 4
gpt4 key购买 nike

我正在尝试获取维基百科页面上每个 anchor 标记的绝对 URI。我认为 .href 属性应该给出绝对 URI,但是当我在 CsQuery 中尝试它时,我发现它仍然给出相对 URI。我应该如何获取绝对URI?

    static void Main(string[] args)
{
string url = "https://en.wikipedia.org/wiki/Barack_Obama";
var dom = CQ.CreateFromUrl(url);
var selected = dom["div#mw-content-text a"];
foreach (var a in selected)
Console.WriteLine(a["href"]);
}

最佳答案

CsQuery 显示 HTML 页面中存在的任何内容...

你可以简单地这样做:

 string domain = "https://en.wikipedia.org";

var dom = CQ.CreateFromUrl(url);

List<string> urls = new List<string>();

dom["a[href]"].Each(dom=>{
string url = dom.GetAttribute("href");
if(!url.StartsWith("https"))
url = domain + url;

urls.Add(url);
});

});

关于c# - 我应该如何在CsQuery中获取绝对URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22749640/

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