[英]Async parsing with AngleSharp
所以我想从网站上解析一些数据,我找到了一个教程,这里是代码:
public static async void Test()
{
var config = Configuration.Default.WithDefaultLoader();
using var context = BrowsingContext.New(config);
var url = "http://webcode.me";
using var doc = await context.OpenAsync(url);
// var title = doc.QuerySelector("title").InnerHtml;
var title = doc.Title;
Console.WriteLine(title);
var pars = doc.QuerySelectorAll("p");
foreach (var par in pars)
{
Console.WriteLine(par.Text().Trim());
}
}
static void Main(string[] args)
{
Test();
}
程序在到达以下位置后立即退出:
using var doc = await context.OpenAsync(url);
没有任何事情等待您的异步方法完成,因此程序退出。 您可以通过修改为使用异步主要方法来解决此问题:
static Task Main(string[] args)
{
return Test();
}
或者,如果您使用的版本早于 C# 7.1(不支持 async main):
static void Main(string[] args)
{
Test().GetAwaiter().GetResult();
}
您还需要将Test
的返回类型更改为async Task
:
public static async Task Test()
{
// ...
}
您可能会发现有关async main的 C# 7.1 文档很有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.