[英]Parsing CSS with AngleSharp
我正在嘗試使用 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;
當我嘗試訪問 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
希望有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.