大家好,我那个帐号密码无法登录了,换了新号过来求助一下
我对百度搜索出来的结果用正则表达式可以提出来,但是谷歌的一直没有实现,哪位能帮忙修改一下啊,下面是对百度结果进行的提取。万分感谢,下班回家,明儿回来结贴。百度结果能优化一下的话,同样感激!!!List<Keyword> keywords = new List<Keyword>();
Regex regtable = new Regex(@"(?is)<table[^>]*?id=(['""]?)(\d{2}|\d{1})\1[^>]*>(?><table[^>]*>(?<o>)|</table>(?<-o>)|(?:(?!</?table\b).)*)*(?(o)(?!))</table>", RegexOptions.IgnoreCase);
Regex rega = new Regex(@"(?is)<a\b[^>]*?href=([""]?)(?<link>[^""\s>]+)\1[^>]*>(?<title>.*?)</a>", RegexOptions.IgnoreCase);
//MatchCollection mc = rega.Matches(html);
MatchCollection mctable = regtable.Matches(html);
foreach (Match mtable in mctable)
{
if (mtable.Success)
{
Match ma = rega.Match(mtable.Value);
if (ma.Success)
{
Keyword keyw = new Keyword();
keyw.Link = ma.Groups["link"].Value;
keyw.Title = ma.Groups["title"].Value;
SqlHelp.SqlCmd.ResultInsert(KeyID,keyw.Title, keyw.Link );
keywords.Add(keyw);
}
}
}
我对百度搜索出来的结果用正则表达式可以提出来,但是谷歌的一直没有实现,哪位能帮忙修改一下啊,下面是对百度结果进行的提取。万分感谢,下班回家,明儿回来结贴。百度结果能优化一下的话,同样感激!!!List<Keyword> keywords = new List<Keyword>();
Regex regtable = new Regex(@"(?is)<table[^>]*?id=(['""]?)(\d{2}|\d{1})\1[^>]*>(?><table[^>]*>(?<o>)|</table>(?<-o>)|(?:(?!</?table\b).)*)*(?(o)(?!))</table>", RegexOptions.IgnoreCase);
Regex rega = new Regex(@"(?is)<a\b[^>]*?href=([""]?)(?<link>[^""\s>]+)\1[^>]*>(?<title>.*?)</a>", RegexOptions.IgnoreCase);
//MatchCollection mc = rega.Matches(html);
MatchCollection mctable = regtable.Matches(html);
foreach (Match mtable in mctable)
{
if (mtable.Success)
{
Match ma = rega.Match(mtable.Value);
if (ma.Success)
{
Keyword keyw = new Keyword();
keyw.Link = ma.Groups["link"].Value;
keyw.Title = ma.Groups["title"].Value;
SqlHelp.SqlCmd.ResultInsert(KeyID,keyw.Title, keyw.Link );
keywords.Add(keyw);
}
}
}
解决方案 »
- 从一个界面datagridview选中内容,调用到另外一个界面显示问题。
- .net 2.0与.net 3.5不兼容,高手们指点
- 模拟器调试出现异常NotSupportedException: System.Drawing.Bitmap
- [C#]急救!直接在DataGridView编辑更新,怎么让它同步更新数据库(Access)
- 用C#写的FTP服务器,在WINDOWS命令行运行正常,当用IE浏览器访问时,就提示没有访问权限
- 求助,用.net类发送邮件失败
- 请那位帮我啊,我是一个菜鸟
- 在datagrid中点页码换页后,怎么myDataGrid不见了?
- 奇怪的提交事件!
- 如何控制web用户控件的执行顺序
- 正则帝再临
- gridview导出excel时设置excel为文本格式
=======
优化:
Regex regtable = new Regex(@"(?is)<table[^>]*?id=(['""]?)(\d{1,2})\1[^>]*?>(?><table[^>]*>(?<o>)|</table>(?<-o>)|(?:(?!</?table\b).)*)*(?(o)(?!))</table>", RegexOptions.IgnoreCase);其他地方没看懂楼主在说神马
假设搜索“CSDN”,那么将这两个搜索引擎搜出来的结果通过正则表达式提取出来。