如何使用 Html Agility Pack 阅读网页

How can I read a web page with Html Agility Pack

提问人:Mostafa Miri 提问时间:6/26/2023 更新时间:6/26/2023 访问量:63

问:

我想通过这个库阅读网页,但某些页面有一个脚本,在第一级运行脚本(例如,欢迎或网站正在加载或...),然后在第二级显示页面内容。 在这个页面中,我只访问第一级。

string linkUrl = "yoursite.come";
  var doc = new HtmlWeb().Load(linkUrl);
   var pTags = doc.DocumentNode.Descendants("p").Select(el => el.InnerText)
           .Where(u => !String.IsNullOrEmpty(u.ToString()));
// Any Code about pTags

C# ASP.NET 核心 HTML 敏捷包

评论

3赞 Luke Vo 6/26/2023
HTML 敏捷包只能解析 HTML。AFAIK 没有 Javascript 支持。您可能需要使用其他解决方案,例如 Selenium。
0赞 Qiang Fu 6/26/2023
有什么理由使用敏捷包吗?

答:

2赞 Khaled Md Tuhidul Hossain 6/26/2023 #1

由于 Html Agility Pack 不支持 JavaScript,因此您需要使用支持 JavaScript 的替代库。

  1. AngleSharp 是一个快速、可扩展且文档齐全的 HTML 解析器,支持 JavaScript。它对格式错误的 HTML 也非常宽容。
  2. CsQuery 是一个轻量级的 HTML 解析器,它使用 XPath 查询从 HTML 文档中选择元素。它还支持 JavaScript。
  3. dotless 是一个 pure-.NET HTML 解析器,旨在快速且易于使用。它还支持 JavaScript。

这些库可以帮助您解决问题。