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