繁体   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