[英]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.