c# 获取百度、谷歌关键字排名
2010-09-16 16:05
501 查看
//前台
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="百度关键字排名查询"></asp:Label>
<br />
关键字:
<asp:TextBox ID="TextBox1" runat="server" Width="308px">c# 获取百度、谷歌关键字排名</asp:TextBox>
<br />
网址:<asp:TextBox ID="TextBox2" runat="server" Width="331px">cnblogs.com</asp:TextBox>
如输入首页域名,包括最后的 “/”<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="查询" />
<asp:Label ID="lbBaiduResult" runat="server"></asp:Label><br />
<br />
google关键字排名查询<br />
关键字:<asp:TextBox ID="TextBox3" runat="server" Width="316px">c# 获取百度、谷歌关键字排名</asp:TextBox><br />
网址:<asp:TextBox ID="TextBox4" runat="server" Width="331px">cnblogs.com</asp:TextBox><br />
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="查询" />
<asp:Label ID="lbGoogleResult" runat="server"></asp:Label><br />
</div>
</form>
</body>
</html>
//后台代码
protected void Button1_Click(object sender, EventArgs e)
{
int paiMing = 0;
string urlWord = HttpUtility.UrlEncode(TextBox1.Text, Encoding.GetEncoding("gb2312"));
for (int i = 0; i < 500; i += 10)
{
string queryUrl = "http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=" + urlWord + "&pn=" + i.ToString() + "&ver=0&cl=3";
WebRequest request = WebRequest.Create(queryUrl);
WebResponse response = request.GetResponse();
Stream resStream = response.GetResponseStream();
StreamReader sr = new StreamReader(resStream, Encoding.Default);
string htmlCode = sr.ReadToEnd();
resStream.Close();
sr.Close();
int startPos = htmlCode.IndexOf("<font color=\"#008000\" size=\"-1\">e.baidu.com</font></a>");
int endPos = htmlCode.IndexOf("<br clear=all>");
string result = htmlCode.Substring(startPos, endPos - startPos);
string[] info = SplitString(result, "百度快照</a>");
int ret = getBaiduPaiMing(info, "cnblogs.com");
if (ret != 0)
{
paiMing += ret;
break;
}
else
paiMing += 10;
}
if (paiMing == 0 || paiMing > 500)
lbBaiduResult.Text = "没有排名";
else
lbBaiduResult.Text = "排名:" + paiMing.ToString();
}
protected void Button2_Click(object sender, EventArgs e)
{
int paiMing = 0;
string urlWord = HttpUtility.UrlEncode(TextBox3.Text, Encoding.GetEncoding("gb2312"));
for (int i = 0; i < 500; i += 10)
{
string queryUrl = "http://www.google.com.hk/search?hl=zh-CN&newwindow=1&q=" + urlWord + "&start=" + i.ToString() + "&sa=N";
WebRequest request = WebRequest.Create(queryUrl);
WebResponse response = request.GetResponse();
Stream resStream = response.GetResponseStream();
StreamReader sr = new StreamReader(resStream, Encoding.Default);
string htmlCode = sr.ReadToEnd();
resStream.Close();
sr.Close();
int startPos = htmlCode.IndexOf("<div id=ires>");
int endPos = htmlCode.IndexOf("<div id=leftnav");
string result = htmlCode.Substring(startPos, endPos - startPos);
string[] info = SplitString(result, ">网页快照</a>");
int ret = getGooglePaiMing(info, "cnblogs.com");
if (ret != 0)
{
paiMing += ret;
break;
}
else
paiMing += 10;
}
if (paiMing == 0 || paiMing > 500)
lbGoogleResult.Text = "没有排名";
else
lbGoogleResult.Text = "排名:" + paiMing.ToString();
}
static public int getBaiduPaiMing(string[] info, string urlStr)
{
for (int i = 0; i < info.Length; i++)
{
int m = info[i].IndexOf("href=\"http://") + 6;
int n = info[i].IndexOf("target=\"_blank\" ><font") - 2;
string ret = info[i].Substring(m, n - m);
if (ret.IndexOf(urlStr) > -1)
return i + 1;
}
return 0;
}
static public int getGooglePaiMing(string[] info, string urlStr)
{
for (int i = 0; i < info.Length; i++)
{
int m = info[i].IndexOf("<h3 class=r><a href=\"http://") + 21;
int n = info[i].IndexOf("target=_blank class=l", m); // info[i].IndexOf("target=_blank class=l") - 2;
string ret = info[i].Substring(m, n - m - 2);
if (ret.IndexOf(urlStr) > -1)
return i + 1;
}
return 0;
}
static public string[] SplitString(string str, string separator)
{
string tmp = str;
Hashtable ht = new Hashtable();
int i = 0;
int pos = tmp.IndexOf(separator);
while (pos != -1)
{
ht.Add(i, tmp.Substring(0, pos));
tmp = tmp.Substring(pos + separator.Length);
pos = tmp.IndexOf(separator);
i++;
}
ht.Add(i, tmp);
string[] array = new string[10];
for (int j = 0; j < 10; j++)
array[j] = ht[j].ToString();
return array;
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="百度关键字排名查询"></asp:Label>
<br />
关键字:
<asp:TextBox ID="TextBox1" runat="server" Width="308px">c# 获取百度、谷歌关键字排名</asp:TextBox>
<br />
网址:<asp:TextBox ID="TextBox2" runat="server" Width="331px">cnblogs.com</asp:TextBox>
如输入首页域名,包括最后的 “/”<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="查询" />
<asp:Label ID="lbBaiduResult" runat="server"></asp:Label><br />
<br />
google关键字排名查询<br />
关键字:<asp:TextBox ID="TextBox3" runat="server" Width="316px">c# 获取百度、谷歌关键字排名</asp:TextBox><br />
网址:<asp:TextBox ID="TextBox4" runat="server" Width="331px">cnblogs.com</asp:TextBox><br />
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="查询" />
<asp:Label ID="lbGoogleResult" runat="server"></asp:Label><br />
</div>
</form>
</body>
</html>
//后台代码
protected void Button1_Click(object sender, EventArgs e)
{
int paiMing = 0;
string urlWord = HttpUtility.UrlEncode(TextBox1.Text, Encoding.GetEncoding("gb2312"));
for (int i = 0; i < 500; i += 10)
{
string queryUrl = "http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=" + urlWord + "&pn=" + i.ToString() + "&ver=0&cl=3";
WebRequest request = WebRequest.Create(queryUrl);
WebResponse response = request.GetResponse();
Stream resStream = response.GetResponseStream();
StreamReader sr = new StreamReader(resStream, Encoding.Default);
string htmlCode = sr.ReadToEnd();
resStream.Close();
sr.Close();
int startPos = htmlCode.IndexOf("<font color=\"#008000\" size=\"-1\">e.baidu.com</font></a>");
int endPos = htmlCode.IndexOf("<br clear=all>");
string result = htmlCode.Substring(startPos, endPos - startPos);
string[] info = SplitString(result, "百度快照</a>");
int ret = getBaiduPaiMing(info, "cnblogs.com");
if (ret != 0)
{
paiMing += ret;
break;
}
else
paiMing += 10;
}
if (paiMing == 0 || paiMing > 500)
lbBaiduResult.Text = "没有排名";
else
lbBaiduResult.Text = "排名:" + paiMing.ToString();
}
protected void Button2_Click(object sender, EventArgs e)
{
int paiMing = 0;
string urlWord = HttpUtility.UrlEncode(TextBox3.Text, Encoding.GetEncoding("gb2312"));
for (int i = 0; i < 500; i += 10)
{
string queryUrl = "http://www.google.com.hk/search?hl=zh-CN&newwindow=1&q=" + urlWord + "&start=" + i.ToString() + "&sa=N";
WebRequest request = WebRequest.Create(queryUrl);
WebResponse response = request.GetResponse();
Stream resStream = response.GetResponseStream();
StreamReader sr = new StreamReader(resStream, Encoding.Default);
string htmlCode = sr.ReadToEnd();
resStream.Close();
sr.Close();
int startPos = htmlCode.IndexOf("<div id=ires>");
int endPos = htmlCode.IndexOf("<div id=leftnav");
string result = htmlCode.Substring(startPos, endPos - startPos);
string[] info = SplitString(result, ">网页快照</a>");
int ret = getGooglePaiMing(info, "cnblogs.com");
if (ret != 0)
{
paiMing += ret;
break;
}
else
paiMing += 10;
}
if (paiMing == 0 || paiMing > 500)
lbGoogleResult.Text = "没有排名";
else
lbGoogleResult.Text = "排名:" + paiMing.ToString();
}
static public int getBaiduPaiMing(string[] info, string urlStr)
{
for (int i = 0; i < info.Length; i++)
{
int m = info[i].IndexOf("href=\"http://") + 6;
int n = info[i].IndexOf("target=\"_blank\" ><font") - 2;
string ret = info[i].Substring(m, n - m);
if (ret.IndexOf(urlStr) > -1)
return i + 1;
}
return 0;
}
static public int getGooglePaiMing(string[] info, string urlStr)
{
for (int i = 0; i < info.Length; i++)
{
int m = info[i].IndexOf("<h3 class=r><a href=\"http://") + 21;
int n = info[i].IndexOf("target=_blank class=l", m); // info[i].IndexOf("target=_blank class=l") - 2;
string ret = info[i].Substring(m, n - m - 2);
if (ret.IndexOf(urlStr) > -1)
return i + 1;
}
return 0;
}
static public string[] SplitString(string str, string separator)
{
string tmp = str;
Hashtable ht = new Hashtable();
int i = 0;
int pos = tmp.IndexOf(separator);
while (pos != -1)
{
ht.Add(i, tmp.Substring(0, pos));
tmp = tmp.Substring(pos + separator.Length);
pos = tmp.IndexOf(separator);
i++;
}
ht.Add(i, tmp);
string[] array = new string[10];
for (int j = 0; j < 10; j++)
array[j] = ht[j].ToString();
return array;
}
相关文章推荐
- PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
- PHP获取搜索引擎关键字来源(百度、谷歌、雅虎、搜狗、搜搜、必应、有道)
- PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
- 浅析新站短时间获取百度收录和关键字排名以及权重方法
- PHP获取搜索引擎关键字来源(百度、谷歌、雅虎、搜狗、搜搜、必应、有道)
- PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
- 查询alexa全球,中国排名,google pr,google收录和百度收录及快照 【C#源代码】
- 7月第二周搜索引擎网站排名:百度谷歌搜搜前三
- php获取从百度、谷歌等搜索引擎进入网站关键词的方法
- C#中,带关键字的按页获取查询,这是部份代码,但可以看出大概实现方式
- C# Json数据反序列化为Dictionary并根据关键字获取指定值
- c#百度排名点击器编写,设置代理ip
- 百度推广和谷歌关键字广告
- 根据查询的关键字,实现获取百度指定页数的搜索结果的信息(网页地址,标题,摘要,并有排序的说明)
- PHP获取关键词和URL在百度的排名
- 【C#源代码】查询alexa全球,中国排名,google pr,google收录和百度收录及快照
- 百度和谷歌更新日期时间,让你网站收录加快以及排名上升
- C#使用百度API通过IP获取地理位置和坐标
- C#微信结合百度api获取当前用户的地理位置