gpt4 book ai didi

c# - 使用 AngleSharp 解析 CSS

转载 作者:行者123 更新时间:2023-12-03 08:50:35 25 4
gpt4 key购买 nike

我正在尝试使用 AngleSharp 解析 HTML 网页及其 CSS。遗憾的是,我只找到了折旧的示例,并且我正在努力寻找最新的实现。

目前,我正在尝试这样做:

  var config = Configuration.Default.WithDefaultLoader(new LoaderOptions { IsResourceLoadingEnabled = true });
var context = BrowsingContext.New(config);
var address = "www.foo.com"
var document = await context.OpenAsync(address);
var styleSheets = document.styleSheets;

当我尝试访问样式表时,它总是返回一个空列表。使用 AngleSharp 解析 CSS 的正确方法是什么?也许可以在文档中包含一个示例。

问候

最佳答案

感谢您提出这个问题,并对一些仍在流传的过时文档表示歉意。

AngleSharp 不附带 CSS;相反,AngleSharp 可以使用其他库的功能进行扩展。这些库之一是 AngleSharp.Css .

顾名思义,这个库带来了 CSS 功能。

假设您通过 NuGet 安装了两者(AngleSharp 和 AngleSharp.Css),您可以执行以下操作:

  var config = Configuration.Default.WithDefaultLoader(new LoaderOptions { IsResourceLoadingEnabled = true }).WithCss();
var context = BrowsingContext.New(config);
var address = "http://www.example.com"; // any reason for dropping the protocol?
var document = await context.OpenAsync(address);
var sheet = document.QuerySelector<IHtmlLinkElement>("link[rel=stylesheet]")?.Sheet;

我使用了以下命名空间导入。

    AngleSharp
AngleSharp.Dom
AngleSharp.Html.Dom
AngleSharp.Io

希望有帮助!

关于c# - 使用 AngleSharp 解析 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59219106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com