如何在 AngleSharp 项目对象中获取链接的标题?
Posted
技术标签:
【中文标题】如何在 AngleSharp 项目对象中获取链接的标题?【英文标题】:How do I get a Title of the link in AngleSharp item object? 【发布时间】:2019-11-22 10:42:51 【问题描述】:这是一个链接:
<a title = "mylink" href="mysite">content</a>
在 AngleSharp 对象中,我可以使用以下代码轻松获得 content
:
string innerContent = item.TextContent;
但我需要获得链接的标题和href。我该怎么做?
【问题讨论】:
【参考方案1】:请注意,AngleSharp 使用 W3C 定义的标准 DOM - 因此您只需搜索“如何从 DOM 中的锚元素获取 href”即可检索答案。为了完整起见,示例搜索查询导致(在 Google 上首次点击)Get local href value from anchor (a) tag,它回答了您的问题。
刚刚翻译成C#意思是
var anchor = item as IhtmlAnchorElement; // Assumption: You have obtained it "only" as an IHtmlElement
string title = item.Title;
string href = item.Href;
备注:.GetAttribute("href")
和.Href
是有区别的。前者始终 可用(即使在非IHtmlAnchorElement
上)并为您提供真实 值。后者是在某些元素上可用的特殊计算版本(例如,IHtmlAnchorElement
),它会为您提供一个规范化版本,已经考虑了当前文档的基本 URL。
TL;DR:.Href
会给你一个绝对 URL,而.GetAttribute("href")
可能会给你一个相对 URL。
HTH!
【讨论】:
以上是关于如何在 AngleSharp 项目对象中获取链接的标题?的主要内容,如果未能解决你的问题,请参考以下文章
PuppeteerSharp+AngleSharp的爬虫实战之汽车之家数据抓取