需要帮助从 C# 中的 HTML 页面中提取标签

本文关键字:提取 标签 HTML 中的 帮助 | 更新日期: 2023-09-27 17:57:11

我想从远程HTML页面加载一个标签的值。 我已经通过加载整个页面而不是使用正则表达式来做到这一点。我找到了想要的结果,但这种方法很慢,我希望它快速加载标签值而不是整个网页。有什么建议吗?

这就是我目前正在做的事情:

using (var client = new WebClient())
{
    string result = c          client.DownloadString("http://web.archive.org/http://profiles.yahoo.com/italy_");
    var regex = new Regex(@"'w+([-+.]'w+)*@'w+([-.]'w+)*'.'w+([-.]'w+)*",
                          RegexOptions.Compiled);
    var s = result;
    foreach (Match email in regex.Matches(s))
    {
        // Console.WriteLine(email.Value);
        label2.Text = email.Value;
    }
}

需要帮助从 C# 中的 HTML 页面中提取标签

你必须加载整个页面 - 这是http请求通常的工作方式。

也许您的正则表达式可以改进? 虽然不是我的专业领域,对不起。

我找到了想要的结果,但这 方法很慢,我希望它 仅快速加载标签值而不是 整个网页。

几个想法:

  • 根据我的经验,Archive.org 通常很慢。我猜这是你的瓶颈。

  • 不,没有办法只向第三方页面发出部分请求,除非他们具有能够返回更具体数据的响应机制(例如,启用 JSON 的 Web 服务返回页面上使用的少量 HTML 片段)。

  • 通常,通过将数据加载到某种HTML解析器而不是使用正则表达式来解析时,您会有更好的运气。