【问题标题】:Retrieve information from a div with a specific class using HtmlAgilityPack C#使用 HtmlAgilityPack C# 从具有特定类的 div 中检索信息
【发布时间】:2020-02-24 11:45:52
【问题描述】:

我正在尝试使用 C# 中的 HtmlAgilityPack 获取所有具有 class="top-tournament" 的 div 的信息

问题是节点变量总是空的,这意味着我没有以正确的方式做它

HTML 示例

使用此代码

 class Program
    {
        static void Main(string[] args)
        {
            startCrawlerAsync().Wait();
        }

        private static async Task startCrawlerAsync()
        {
            var url = "https://live.soccerstreams.net/home";
            var httpClient = new HttpClient();
            var html = await httpClient.GetStringAsync(url);
            var htmlDocument = new HtmlDocument();
            htmlDocument.LoadHtml(html);
            HtmlNodeCollection nodes = htmlDocument.DocumentNode.SelectNodes("//div[@class=\"top-tournament \"]");

        }
    }

【问题讨论】:

    标签: c# html


    【解决方案1】:

    如果您查看htmlDocument.ParsedText,您会看到上述网站返回 JavaScript 作为其正文的一部分。 JavaScript 然后在您的浏览器中执行并构建您看到的 HTML。 HtmlAgilityPack 无法执行 JavaScript 来构建 html,因此您将获得 null for nodes

    如果您想使用 C# 来完成上述任务,我建议您查看以下问题:Scraping webpage generated by javascript with C#

    【讨论】:

      猜你喜欢
      • 2017-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-23
      • 2016-11-20
      • 2016-06-23
      相关资源
      最近更新 更多