C#如何利用正则表达式读取网页指定内容
C#如何利用正则表达式读取网页指定内容,求高手指点,附源代码也行,非常感谢帮助 正则表达式 源代码 c# --------------------编程问答-------------------- 你举个例子啊,获取指定的什么内容? --------------------编程问答-------------------- 举个例子:--------------------编程问答-------------------- 为嘛缺少Regex --------------------编程问答--------------------
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;
}
using System.Text.RegularExpressions;
总这样衣来伸手饭来张口,不好吧。 --------------------编程问答-------------------- 我刚开始学C#什么都还不知道,见谅 --------------------编程问答-------------------- 使用NSoup直接就可以解析HTML,像js一样访问 --------------------编程问答-------------------- 这里有个 完全开源的 字符串匹配引擎;
http://www.shuxiaolong.com/Project/0/5I7UFN38GEQ.aspx
自己看看吧,有Demo的。 --------------------编程问答-------------------- 想学正则看看大神的博客吧
如果是想解决具体问题的话就贴代码
补充:.NET技术 , C#