gpt4 book ai didi

c# - 仅使用类项从网页获取特定数据

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

我想提取网页上的源代码(我已将其缩小到与此处相关的内容:

    <div class="sideInfoPlayer">
<a class="signLink" href="spieler.php?uid=12345" title="Profile">
<span class="wrap">Wagamama</span>
</a>

现在这里的技巧是,我想将 Wagamama 一词放入消息框中,但该词在该站点的每个页面上都会发生变化,因此我需要获取该元素,但此页面上没有 ID。因此,我想先搜索名为“sideInfoPlayer”的类,然后在前一个类 block 中找到“wrap”类。

我写了下面的代码以获得第一个,但不知道如何处理第二个然后获得所需的值。

        HtmlElementCollection col = webBrowser1.Document.GetElementsByTagName("div");
foreach (HtmlElement element in col)
{
string cls = element.GetAttribute("className");
if (String.IsNullOrEmpty(cls) || !cls.Equals("sideInfoPlayer"))
continue;
}

我希望你能帮助我解决这个问题。

最佳答案

您有更好的选择。看http://htmlagilitypack.codeplex.com/

这里:How can i parse html string

首先,您需要通过手动下载或使用 NuGet 包管理器来添加对 HtmlAgilityPack 库的引用。

// loading html into HtmlDocument
var doc = new HtmlWeb().Load("http://website.com/mypage");
// walking through all nodes of interest
foreach (var node in doc.DocumentNode.SelectNodes("//div[@class='sideInfoPlayer']/span[@class='wrap']"))
{
// here is your text: node.InnerText
}

//div[@class='sideInfoPlayer']/span[@class='wrap'] 被称为 Xpath Expression这个字面意思是“给我所有带有 class=wrap 的 span 元素,它们是带有 class=sideInfoPlayer 的 div 元素的子元素。

我没有测试它,但它应该可以工作。

关于c# - 仅使用类项从网页获取特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13494642/

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