如何从特定 html class 敏捷包中提取数据
How to extract data from specific html class agility pack
我不想提取整个网页,而只想提取一个 class 中的文本,我还没有找到如何为我的代码执行此操作。我想要来自 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>
现在我有一个 C# 代码(信息是文本框的名称):
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
我猜该站点正在使用 AJAX 加载乐谱,因此当您使用他们的 .Load()
.
时,HTMLAgilityPack 将无法使用它
或许您可以先使用C#中的WebBrowser对象加载页面,然后使用HAP加载内容。有很多关于这个的例子。
希望对您有所帮助!
我不想提取整个网页,而只想提取一个 class 中的文本,我还没有找到如何为我的代码执行此操作。我想要来自 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>
现在我有一个 C# 代码(信息是文本框的名称):
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
我猜该站点正在使用 AJAX 加载乐谱,因此当您使用他们的 .Load()
.
或许您可以先使用C#中的WebBrowser对象加载页面,然后使用HAP加载内容。有很多关于这个的例子。
希望对您有所帮助!