我正在使用 Anglesharp 解析网页,然后发现可能是联系页面的链接。
这是我的代码:
var config = Configuration.Default.WithDefaultLoader();
string address = "http://www.stackoverflow.com/";
Url baseurl = new Url(address);
var document = await BrowsingContext.New(config).OpenAsync(baseurl);
var links = document.Links.Where(x => ((IHtmlAnchorElement)x).Host == baseurl.Host ).ToList();
var contacts = links.Where(x => ((IHtmlAnchorElement)x).PathName.ToLower().Contains("contact")).Select(x => ((IHtmlAnchorElement)x).PathName).Distinct();
它有效,但我在联系人中得到重复的 PathName 值。我只想为每个值取一个值,PathName
但选择/区别不起作用。
我必须创建自己的自定义比较器还是有办法改变我的 linq 查询?我不需要任何其他数据,只需要主机和路径名。