簡體   English   中英

使用asp.net C#在網站中查找特定單詞

[英]find a specific word in a website using asp.net C#

如何使用asp.net C#在網站中找到特定單詞。 例如,如果我在瀏覽cnn.com網站時想要瀏覽該網站中的單詞(例如sport),那么如何使用asp.net C#找到它。

謝謝

您可以使用以下代碼以字符串形式獲取網頁

string webpageData;
using (System.Net.WebClient webClient = new System.Net.WebClient())
    webpageData = webClient.DownloadString("http://www.cnn.com");

然后只需使用常規字符串方法

var containsWord = webpageData.Contains("word");

如果我正確理解了您的問題,那么您希望能夠以編程方式瀏覽網站並找到給定單詞的位置。 為了做到這一點,您可以使用WebClient類來加載頁面的html內容,然后使用Regex來匹配所需的單詞。 下面是一個示例,該示例將加載cnn.com並列出在此網站上找到的所有鏈接及其位置,您可以修改regualr表達式以僅返回包含單詞sport的鏈接

WebClient client = new WebClient();
using (Stream data = client.OpenRead(@"http://www.cnn.com/"))
{
    using (StreamReader reader = new StreamReader(data))
    {
        string content = reader.ReadToEnd();
        string pattern = @"((https?|ftp|gopher|telnet|file|notes|ms-help):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)";
        MatchCollection matches = Regex.Matches(content, pattern);
        foreach (Match match in matches)
        {
            GroupCollection groups = match.Groups;
            Console.WriteLine("'{0}' repeated at position {1}",
                              groups[0].Value, groups[0].Index);
        }
    }
}

您可以在c#中構建某種“抓取工具”,以捕獲首頁,然后遞歸頁面上的鏈接。 搜尋器會為每個頁面顯示html源,您可以執行簡單的文本搜索。 描述起來感覺很野蠻,但是可以用。

暫無
暫無

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

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