簡體   English   中英

需要幫助從C#中的HTML頁面中提取標簽

[英]Need help extracting label from HTML page in C#

我想從遠程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;
    }
}

您必須加載整個頁面 - 這就是http請求通常的工作方式。

也許你的正則表達式可以改進? 不過我的專業領域,對不起。

我發現了所需的結果,但這種方法非常慢我希望它能夠快速加載標簽值而不是整個網頁。

幾個想法:

  • Archive.org在我的經歷中通常很慢。 我的猜測是你的瓶頸。

  • 不,沒有辦法只向第三方頁面發出部分請求,除非他們有一個能夠返回更多特定數據的響應機制(例如,一個支持JSON的Web服務,它返回的小部分HTML用於頁)。

  • 通過將數據加載到某種HTML解析器而不是使用正則表達式,通常可以更好地解析。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM