从HTML源文件读取数据

本文关键字:数据 读取 源文件 HTML | 更新日期: 2023-09-27 18:17:55

在这个网站:http://eu.battle.net/wow/en/character/Kazzak/Ierina/simple我想得到的值,说"560"项目水平。

我做了一些研究,我知道如何获得所有的源代码

string html = new WebClient().DownloadString(@"http://eu.battle.net/wow/en/character/Kazzak/Ierina/simple");

我认为我应该读取的值在源代码中:

(<span class="equipped">560</span> Equipped)

或此处:

<div id="summary-averageilvl-best" class="best tip" data-id="averageilvl">
        560
    </div>

我已经尝试通过使用这种方式获得该值:https://stackoverflow.com/a/2958449/3935085

我的代码:
webBrowser1.DocumentText = new WebClient().DownloadString(@"http://eu.battle.net/wow/en/character/Kazzak/Ierina/simple");
            HtmlElement ilvl = webBrowser1.Document.GetElementById("equipped");
            label1.Text = ilvl.InnerText;

从HTML源文件读取数据

可以使用正则表达式(regex)

string input = new WebClient().DownloadString(@"http://eu.battle.net/wow/en/character/Kazzak/Ierina/simple");
// Here we call Regex.Match for <span class="equipped">560</span>
Match match = Regex.Match(input, @"<span class='""equipped'"">([0-9]+)</span>",
RegexOptions.IgnoreCase);
// Here we check the Match instance.
if (match.Success)
{
    string key = match.Groups[1].Value; //result here
}

你可以使用htmllagilitypack来解析HTML

HtmlDocument html = new HtmlDocument();
html.Load("http://eu.battle.net/wow/en/character/Kazzak/Ierina/simple")
var myValue = html.DocumentNode.SelectNodes("//*[@class='"equipped'"]");

第一件事:你有一个span与 class "equipped"你试图得到一个元素与ID "equipped"

第二件事:您可以尝试使用正则表达式