当前位置:编程学习 > C#/ASP.NET >>

C#如何利用正则表达式读取网页指定内容

C#如何利用正则表达式读取网页指定内容,求高手指点,附源代码也行,非常感谢帮助 正则表达式 源代码 c# --------------------编程问答-------------------- 你举个例子啊,获取指定的什么内容? --------------------编程问答-------------------- 举个例子:

static void Main(string[] args)
        {
            string resultHtml = GetUrlHtml("http://www.baidu.com/s?ie=utf-8&bs=msdn&f=8&rsv_bp=1&wd=csdn&rsv_sug3=1&inputT=1065");
 
            string regexTD = "(?is)<td class=\"(?:c-default|f)\"[^?]*>.*?</td>";
            string regexTitle = "(?is)<h3 class=\"t\"><a[^>]*?href=\"(?<url>[^\"]*)\"[^>]*>(?<title>.*?)</h3>";
 
            var matches = Regex.Matches(resultHtml, regexTD);
 
            foreach (Match match in matches)
            {
                string tdHtml = match.Value;
 
                Match m = Regex.Match(tdHtml, regexTitle);
                if (m.Success)
                {
                    Console.WriteLine(Regex.Replace(m.Groups["title"].Value, "<[^>]+>", ""));
                    Console.WriteLine(m.Groups["url"].Value);
                }
                Console.WriteLine();
            }
 
            Console.Read();
        }
 
        private static string GetUrlHtml(string url)
        {
            HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse hwrs = (HttpWebResponse)hwr.GetResponse();
            Stream stream = hwrs.GetResponseStream();
            StreamReader sr = new StreamReader(stream, Encoding.GetEncoding(hwrs.CharacterSet));
            string html = sr.ReadToEnd();
            sr.Close();
            return html;
        }
 
--------------------编程问答-------------------- 为嘛缺少Regex --------------------编程问答--------------------
引用 3 楼 u012462792 的回复:
为嘛缺少Regex

using System.Text.RegularExpressions;

总这样衣来伸手饭来张口,不好吧。 --------------------编程问答-------------------- 我刚开始学C#什么都还不知道,见谅 --------------------编程问答-------------------- 使用NSoup直接就可以解析HTML,像js一样访问 --------------------编程问答-------------------- 这里有个 完全开源的 字符串匹配引擎;
http://www.shuxiaolong.com/Project/0/5I7UFN38GEQ.aspx

自己看看吧,有Demo的。 --------------------编程问答-------------------- 想学正则看看大神的博客吧

如果是想解决具体问题的话就贴代码
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,