尝试使用 AngleSharp 解析维基页面

Trying to parse a wiki page with AngleSharp

我正在尝试解析:List of airlines (Wikipedia)

该页面有一个简单的 table:

<table class="wikitable sortable">
    <caption>Airline codes</caption>
    <tr>
        <th>IATA</th>
        <th>ICAO</th>
        <th>Airline</th>
        <th>Call sign</th>
        <th>Country</th>
        <th>Comments</th>
    </tr>

    etc...

我知道这可以很容易地用正则表达式解析,但我从未使用过 AngleSharp,我想弄明白。

我做了一段简单的代码:

var parser = new HtmlParser();
var config = new Configuration();

var document = BrowsingContext.New(config).OpenAsync(Url.Create("https://en.wikipedia.org/wiki/List_of_airline_codes")).Result;

var aa = document.QuerySelectorAll("tr");
var bb = document.QuerySelectorAll("wikitable");
var cc = document.QuerySelectorAll("table");

页面已正确加载,但 none 我的查询没有返回任何内容。我错过了什么?

默认Configuration不支持文档加载,所以你得到一个空文档。使用 WithDefaultLoader 加载一个配置。

所以改变

var config = new Configuration();

var config = Configuration.Default.WithDefaultLoader();