如何从特定的html类敏捷包中提取数据

时间:2017-06-19 08:50:36

标签: c# html-agility-pack

我想要提取的不是整个网页而只提取一个类的文本,我还没有找到如何为我的代码执行此操作。我想要来自td class =“result-neutral”的文字 这是HTML代码:

<td class="result-neutral" xseid="xz1nBfht"><a href="/hockey/russia/khl/ska-st-petersburg-metallurg-magnitogorsk-xz1nBfht/">3 - 2 </a></td>

现在我已经sych了一个C#代码(Info是文本框的名称):

 HtmlAgilityPack.HtmlDocument doc = new HtmlDocument();
        HtmlWeb hw = new HtmlWeb();
        doc = hw.Load("http://www.sportstats.com/hockey/russia/detail/ska-st-petersburg-zVJwe4ER/");
       var nodes = doc.DocumentNode.Descendants("td");
 string result = "";
        foreach (var item in nodes)
        {
            result += item.InnerText+Environment.NewLine;
        }
        Info.Text = result;

    }

说实话,我最好得分,在上面的例子中 3-2

1 个答案:

答案 0 :(得分:0)

我猜该网站正在使用AJAX加载分数,因此当您使用.Load()时,HTMLAgilityPack将无法使用它。

也许您可以在C#中使用WebBrowser对象来首先加载页面,然后使用HAP加载内容。关于这一点有很多例子。

希望它有所帮助!