0
我正在使用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
取一个值,但select/distinct不起作用。
我是否必须创建自己的自定义比较器还是有方法来改变我的linq查询?我不需要任何其他数据,只需要主机和路径名。
鲜明必须的工作,可能是你忘记区分大小写,所以加ToLower将( )表达式结尾:((IHtmlAnchorElement)x).PathName.ToLower() –
是的,你是对的!谢谢 – Guerrilla