//在百度的搜索结果中,用如下方式获取搜索结果中的网址,求在谷歌和雅虎里面怎么写代码,静态标签和百度不一样怎么做?
if(comboBox1.SelectedIndex==0)
{
if (myBrowser.Document.GetElementById("1") == null)
{
Log("No result!");
}
else
{
for (int i = 1; i <= _pageSize; i++)
{ htmlTmp = myBrowser.Document.GetElementById(i.ToString()).GetElementsByTagName("tbody")[0].GetElementsByTagName("tr")[0].GetElementsByTagName("td")[0].GetElementsByTagName("a")[0];
if (htmlTmp != null)
{ url = htmlTmp.GetAttribute("href");
if (string.IsNullOrEmpty(url))
{
url = htmlTmp.Children[0].GetAttribute("href"); } content = myBrowser.Document.GetElementById(i.ToString()).GetElementsByTagName("tbody")[0].GetElementsByTagName("tr")[0].GetElementsByTagName("td")[0].InnerText; if (myBrowser.Document.GetElementById(i.ToString()).GetElementsByTagName("tbody")[0].GetElementsByTagName("tr").Count > 1)
{
content = myBrowser.Document.GetElementById(i.ToString()).GetElementsByTagName("tbody")[0].GetElementsByTagName("tr")[1].OuterText;
} string tmpStr = content.Replace("\r\n", "`");
SearcharTempModel tempmd = new SearcharTempModel(); tempmd.SitId = i;
tempmd.SitTitle = tmpStr.Split('`')[0].Replace("'", "''");
if (url.IndexOf("http://", 0) > -1)
{
if (url.IndexOf("/", 9) > 0)
{
tempmd.SitAddress = url.Substring(0, url.IndexOf("/", 9));
}
else
{
tempmd.SitAddress = url;
}
}
tempmd.TitleUrl = url;
tempmd.SitCont = content.Replace(tmpStr.Split('`')[0], "").Replace("'", "''");
selist.Add(tempmd);
}
}
}
}
我只截取一部分代码,以下的是百度搜索结果,可以把红色字体的网址获取出来,在雅虎和谷歌就不会了,请大侠解决一下
<table cellpadding="0" cellspacing="0" class="result" id="3"><tr><td class=f><a onmousedown="return c({'fm':'as','F':'779717CA','F1':'9D73F1E4','F2':'4CA6DD6B','F3':'54E5243F','T':'1284425043','title':this.innerHTML,'url':this.href,'p1':3,'y':'EF7E3BFC'})" href="http://www.aa52.com/" target="_blank" ><font size="3">云南户外运动网 西南地区最具人气的户外运动门户网站!</font></a><br><font size=-1> 云南户外运动网 云南本土最具人气的户外运动、探险网络平台!致力推动云南登山户外运动发展!<br><font color="#008000">www.aa52.com/ 2010-9-13 </font> - <a href="http://cache.baidu.com/c?m=9d78d513d99012bb1fadca71575091240e55f37e2192955068d4e41bc0635b564711b2e6783f&p=8b2a961a8a9b11a05beed2315205&user=baidu" target="_blank" class="m">百度快照</a> <br></font></td></tr></table><br>
<table cellpadding="0" cellspacing="0" class="result" id="4"><tr><td class=f><a onmousedown="return c({'fm':'as','F':'7F9317CA','F1':'9D73F1E4','F2':'4CA6BE6B','F3':'54E5243F','T':'1284425043','title':this.innerHTML,'url':this.href,'p1':4,'y':'BBD931D6'})" href="http://www.aa173.com/" target="_blank" ><font size="3"><em>AA</em>游戏对战平台-高校专属对战平台</font></a><br><font size=-1> <em>AA</em>游戏对战平台注册帐号登陆帐号忘记密码返回首页 玩家登陆通行证 密码 在这台电脑上记住我 注册找回密码 高校联盟排名 学校名称 战绩 排名人数...<br><font color="#008000">www.aa173.com/ 2010-9-13 </font> - <a href="http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f7306fd4d51468d4e419ce3b4655023ba3ed287143&p=c467ca16d9c01bff57ee97124c4c&user=baidu" target="_blank" class="m">百度快照</a> <br></font></td></tr></table><br>
if(comboBox1.SelectedIndex==0)
{
if (myBrowser.Document.GetElementById("1") == null)
{
Log("No result!");
}
else
{
for (int i = 1; i <= _pageSize; i++)
{ htmlTmp = myBrowser.Document.GetElementById(i.ToString()).GetElementsByTagName("tbody")[0].GetElementsByTagName("tr")[0].GetElementsByTagName("td")[0].GetElementsByTagName("a")[0];
if (htmlTmp != null)
{ url = htmlTmp.GetAttribute("href");
if (string.IsNullOrEmpty(url))
{
url = htmlTmp.Children[0].GetAttribute("href"); } content = myBrowser.Document.GetElementById(i.ToString()).GetElementsByTagName("tbody")[0].GetElementsByTagName("tr")[0].GetElementsByTagName("td")[0].InnerText; if (myBrowser.Document.GetElementById(i.ToString()).GetElementsByTagName("tbody")[0].GetElementsByTagName("tr").Count > 1)
{
content = myBrowser.Document.GetElementById(i.ToString()).GetElementsByTagName("tbody")[0].GetElementsByTagName("tr")[1].OuterText;
} string tmpStr = content.Replace("\r\n", "`");
SearcharTempModel tempmd = new SearcharTempModel(); tempmd.SitId = i;
tempmd.SitTitle = tmpStr.Split('`')[0].Replace("'", "''");
if (url.IndexOf("http://", 0) > -1)
{
if (url.IndexOf("/", 9) > 0)
{
tempmd.SitAddress = url.Substring(0, url.IndexOf("/", 9));
}
else
{
tempmd.SitAddress = url;
}
}
tempmd.TitleUrl = url;
tempmd.SitCont = content.Replace(tmpStr.Split('`')[0], "").Replace("'", "''");
selist.Add(tempmd);
}
}
}
}
我只截取一部分代码,以下的是百度搜索结果,可以把红色字体的网址获取出来,在雅虎和谷歌就不会了,请大侠解决一下
<table cellpadding="0" cellspacing="0" class="result" id="3"><tr><td class=f><a onmousedown="return c({'fm':'as','F':'779717CA','F1':'9D73F1E4','F2':'4CA6DD6B','F3':'54E5243F','T':'1284425043','title':this.innerHTML,'url':this.href,'p1':3,'y':'EF7E3BFC'})" href="http://www.aa52.com/" target="_blank" ><font size="3">云南户外运动网 西南地区最具人气的户外运动门户网站!</font></a><br><font size=-1> 云南户外运动网 云南本土最具人气的户外运动、探险网络平台!致力推动云南登山户外运动发展!<br><font color="#008000">www.aa52.com/ 2010-9-13 </font> - <a href="http://cache.baidu.com/c?m=9d78d513d99012bb1fadca71575091240e55f37e2192955068d4e41bc0635b564711b2e6783f&p=8b2a961a8a9b11a05beed2315205&user=baidu" target="_blank" class="m">百度快照</a> <br></font></td></tr></table><br>
<table cellpadding="0" cellspacing="0" class="result" id="4"><tr><td class=f><a onmousedown="return c({'fm':'as','F':'7F9317CA','F1':'9D73F1E4','F2':'4CA6BE6B','F3':'54E5243F','T':'1284425043','title':this.innerHTML,'url':this.href,'p1':4,'y':'BBD931D6'})" href="http://www.aa173.com/" target="_blank" ><font size="3"><em>AA</em>游戏对战平台-高校专属对战平台</font></a><br><font size=-1> <em>AA</em>游戏对战平台注册帐号登陆帐号忘记密码返回首页 玩家登陆通行证 密码 在这台电脑上记住我 注册找回密码 高校联盟排名 学校名称 战绩 排名人数...<br><font color="#008000">www.aa173.com/ 2010-9-13 </font> - <a href="http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f7306fd4d51468d4e419ce3b4655023ba3ed287143&p=c467ca16d9c01bff57ee97124c4c&user=baidu" target="_blank" class="m">百度快照</a> <br></font></td></tr></table><br>
解决方案 »
- dataGridView绑定table的问题
- C# 下载文件得到的是HTML代码,不是数据文件
- 怎么实现C#读取sqlserver中以不同的codepage存储的各种语言字符串?
- C#中用oleDB读取文本文件,文件中分隔符不是逗号应该怎么处理?
- vb代码转换c#
- 超弱问题!!!在线给分!
- 请问在C#中有没有人用过AxvsFlexLib.AxvsFlexArray这个网格控件
- vs2003中如何控制listbox的滚动条的位置?
- linq 查询结果 转 int[]
- 怎样将二进制对象加入到数据库(SQL Server)
- SwfUploadDemo上传控件怎么使用呀???
- 在sqlhelper中调用配置文件出现问题
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
Console.WriteLine(m.Groups[0].ToString() );
}