C# Html 解析

C# Html parsing

我试图在我的 C# 项目中解析 HTML 但没有成功,我正在使用 HtmlAgilityPack 库来这样做,我可以获得一些 HTML 正文但不是全部它出于某种原因。 我需要获取 ID 为 latestPriceSection 的 div,并从 https://www.monero.how/widget

中筛选出美元值

我的函数(不起作用)

public void getXMRRate()
{
    HtmlWeb web = new HtmlWeb();
    HtmlAgilityPack.HtmlDocument document = web.Load("https://www.monero.how/widget");
    HtmlNode[] nodes = document.DocumentNode.SelectNodes("//a").Where(x => x.InnerHtml.Contains("latestPriceSection")).ToArray();
    foreach (HtmlNode item in nodes)
    {
        Console.WriteLine(item.InnerHtml);
    }
}

您的功能不起作用,因为小部件是通过脚本更新的。当您加载页面时,div 不包含任何内容。您不能使用 HAP 来抓取此信息。查找可以为您提供所需信息的网络服务。

或者,您可以在页面加载脚本后使用 Selenium 获取 HTML。或者您是 WebBrowser class,但这需要您有一个表单应用程序,其中表单包含 WebBrowser。

您需要从 https://www.monero.how/widgetLive.json 检索 JSON 数据,因为小部件在 Ajax 请求中使用此资源。