gpt4 book ai didi

c# - 使用 htmlagility pack 抓取表数据

转载 作者:太空宇宙 更新时间:2023-11-03 15:59:54 25 4
gpt4 key购买 nike

我有如下表格。我想抓取该表每一行的第 1 列和第 4 列。

enter image description here

表的结构是这样的:

enter image description here

每条数据都有一个b标签

我试过这样的事情。但是我没有得到我的结果

 HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load("http://www.islam4you.info/contents/names/ma.php");
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//b");


double k = 5;

try
{
foreach (HtmlNode n in nodes)
{

if (k != 0)
{
if ((k % 5) == 1)
{
link = n.InnerHtml;
nam_list.Add(link);
}

if ((k % 5) == 4)
{

link = n.InnerHtml;
meng_list.Add(link);
}
}
k++;
}
}
catch (NullReferenceException)
{
MessageBox.Show("No link found");
}

如何从该表中获取第 1 列和第 4 列的数据???

最佳答案

这听起来有点矫枉过正,但我​​认为在这种情况下使用库会更好。只是为了更好地维护。

看看使用 CsQuery 是多么容易

[TestFixture]
public class HtmlParse
{
[Test]
public void Test()
{

var dom =
CQ.Create(
@"<table><tbody> <tr><td><b>Aadam</b></td></tr> <tr><td></td></tr> <tr><td></td></tr> <tr><td></td></tr> <tr><td><b>Earth</b></td></tr></tbody></table>");

var results = dom["table tr:nth-child(1) b, table tr:nth-child(5) b"];

foreach (var result in results)
{
Console.WriteLine(result.InnerText);
}
}

}

关于c# - 使用 htmlagility pack 抓取表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21889265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com