如何用正则表达式获取 两个问题:1 如何用正则表达式 获得1-10的 每个 数字对应的链接地址?2 如何用正则表达式 获得搜索结果的 标题和 网址最好能分享一下 源码。谢谢了 大神门,急求…… 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以做,你仔细看看HTML网页的源代码就可以了,我刚才看了一下,完全可以提取出来,就是麻烦点。不如用DOM识别快,但是DOM我不会,你可以研究一下。 第一个:这个规律自己找找http://www.baidu.com/s?wd=csdn&pn=0&ie=utf-8&usm=1http://www.baidu.com/s?wd=csdn&pn=10&ie=utf-8&usm=1http://www.baidu.com/s?wd=csdn&pn=20&ie=utf-8&usm=1http://www.baidu.com/s?wd=csdn&pn=30&ie=utf-8&usm=1第二个: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; } 刚刚发现一个有趣的现象 动态更改菜单 winform中,根据已知的wsdl,怎么访问已有的webservice? C# 向数据库插入一条记录后,如何获得新插入记录的自动编号(id) VC#中显示与合上的快捷键是什么? C#区版务处理专用帖(2006年1月) 如何让页面类的构造函数在设计期不运行。 C#初学者 想做个自己用的小软件 c#和vc.net ,asp.net,vb.net关系? 关于开发控件的设计时支持——问题解决,立即给分(在线等待) 急!!!关于Entity Framework更新表部分字段问题 winfrom 多线程仍占用 CPU近100%
不如用DOM识别快,但是DOM我不会,你可以研究一下。
http://www.baidu.com/s?wd=csdn&pn=0&ie=utf-8&usm=1
http://www.baidu.com/s?wd=csdn&pn=10&ie=utf-8&usm=1
http://www.baidu.com/s?wd=csdn&pn=20&ie=utf-8&usm=1
http://www.baidu.com/s?wd=csdn&pn=30&ie=utf-8&usm=1
第二个:
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;
}