之前我介绍过HtmlAgilityPack的CSS选择器扩展——ScrapySharp,它可以非常方便的实现通过CSS选择器表达式来查询HtmlNode。今天在使用的过程中,发现它不支持nth-child语法,导致在许多查询的地方不大方便。

在网上搜了一下,找到了另一个支持得更全面的HtmlAgilityPack的CSS选择器扩展FizzlerEx。它的使用方法也非常相似。 

using HtmlAgilityPack;
using Fizzler.Systems.HtmlAgilityPack;

var web = new HtmlWeb();
var document = web.Load("http://example.com/page.html")
var page = document.DocumentNode;

foreach(var item in page.QuerySelectorAll("div.item"))
{
    var title = item.QuerySelector("h3:not(.share)").InnerText;
    var date = DateTime.Parse(item.QuerySelector("span:eq(2)").InnerText);
    var description = item.QuerySelector("span:has(b)").InnerHtml;
}

它还自带了一个查看的GUI工具,用起来还蛮方便的。就是稍微不便的是没有NuGet安装包

相关文章:

  • 2021-12-16
  • 2022-01-19
  • 2022-12-23
  • 2021-05-11
  • 2022-02-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-30
  • 2022-02-03
  • 2022-03-07
  • 2021-10-07
  • 2022-02-08
  • 2022-12-23
  • 2021-06-21
相关资源
相似解决方案