如何在网站中检索标签的值

本文关键字:标签 检索 网站 | 更新日期: 2023-09-27 18:08:05

我想从一个网站提取一个标签值。我在Chrome中查看了html源代码,发现了这行:

<strong><span id="lbName">George</span></strong>

标签名称lbName在该请求中是唯一的。但是我如何从这一行中提取"George"这个名字呢?我看了正则表达式,但到目前为止,它只是如果字符串包含一些模式或不,我已经知道它确实。

    public static void GetName()
    {
        HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("Http://MyWebsite.com");
        myRequest.Method = "GET";
        WebResponse myResponse = myRequest.GetResponse();
        StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
        string result = sr.ReadToEnd();
        sr.Close();
        myResponse.Close();
        string sPattern = "lbName";
        // extract the value of lbName ?
    }

如何在网站中检索标签的值

有一个库,Html敏捷包。使用它。我要补充一点,如果您总是在查看同一页面,并且您知道页面不会改变其格式,那么您可以简单地使用IndexOf方法并搜索<span id="lbName">。比如:

const string searchFor = "<span id='"lbName'">"; // open marker
const string endSearchFor = "</span>"; // close marker
string result = "letters" + searchFor + "text" + endSearchFor; // Sample text, here put your text
int ix1 = result.IndexOf(searchFor);
if (ix1 == -1)
{
    throw new Exception();
}
ix1 += searchFor.Length;
int ix2 = result.IndexOf(endSearchFor, ix1);
if (ix2 == -1)
{
    throw new Exception();
}
string text = result.Substring(ix1, ix2 - ix1);

以下正则表达式应该可以工作:

[^<strong><span id="lbName">].*(?=</span><s/trong>)