AngleSharp 实战(05)之遍历内部子元素(x)元素,尝试着获取元素的 Attr 和 InnerText
2019-10-29 16:38 音乐让我说 阅读(303) 评论(0) 编辑 收藏 举报
直接贴代码了:
using System; using System.Linq; using System.Threading.Tasks; using AngleSharp; using AngleSharp.Dom; using AngleSharp.Html.Parser; using AngleSharpSamples.Extensions; namespace AngleSharpSamples { class Program { static async Task Main(string[] args) { var config = Configuration.Default.WithDefaultLoader(); var address = "https://www.cnblogs.com"; var context = BrowsingContext.New(config); var document = await context.OpenAsync(address); var cellSelector = "div.post_item"; IHtmlCollection<IElement> cells = document.QuerySelectorAll(cellSelector); int i = 0; foreach (IElement postElemItem in cells) { IElement postTitleElemItem = postElemItem.QuerySelector("a.titlelnk"); //如果元素不存在,则 postTitleElemItem = null if (postTitleElemItem == null) { continue; } i++; string postTitleInnerText = postTitleElemItem.TryGetTextContent();//自定义的扩展方法 string href = postTitleElemItem.TryGetAttributeHref();//自定义的扩展方法 string postPromptTitle = postTitleElemItem.TryGetAttributeTitle();//自定义的扩展方法 string summary = postElemItem.TryGetTextContentByQuerySelector("p.post_item_summary");//自定义的扩展方法 Console.WriteLine("{0}. {1} ( {2} )( {3} )\n\n", i, postTitleInnerText, href, summary); } Console.WriteLine("{0}", Environment.NewLine); } } }
谢谢浏览!
作者:音乐让我说(音乐让我说 - 博客园)
出处:http://music.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步