尝试使用 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();
我正在尝试解析: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();