这段时间在给外贸站做辅助系统,其中的一个功能模块为:实现的网站推广信息即时查询的功能。
其实就是站长工具中的站点收录查询,站点外链查询,关键词查询等。
这里贴一些源码,和大家一起分享(以豆瓣网在百度中的查询为例)。
1。收录查询
查询 http://www.baidu.com/s?wd=site%3Awww.douban.com的结果
页面html下载
#region 获取网页源代码
///<summary>
///获取网页源代码
///</summary>
///<paramname="url">URL路径</param>
///<paramname="encoding">编码方式</param>
public static string GetHTML(string url, string encoding)
{
try
{
WebClient web = new WebClient();
byte[] buffer = web.DownloadData(url);
web.Credentials = CredentialCache.DefaultCredentials;//获取或设置用于对向Internet资源的请求进行身份验证的网络凭据。
return System.Text.Encoding.GetEncoding(encoding).GetString(buffer);
}
catch (Exception e)
{
return "";
}
}
#endregion
匹配结果
/// <summary>
/// 从字符串中出结果
/// </summary>
/// <param name="html"></param>
/// <param name="regStart"></param>
/// <param name="regEnd"></param>
/// <param name="ignoreCase"></param>
/// <returns></returns>
public static string GetMetaString(string html, string regStart, string regEnd, bool ignoreCase)
{
string regString = string.Format("{0}(?<getcontent>[\\s|\\S]+?){1}", regStart, regEnd);
Regex reg;
if (ignoreCase)
{
reg = new Regex(regString, RegexOptions.IgnoreCase);
}
else
{
reg = new Regex(regString);
}
return reg.Match(html).Groups["getcontent"].Value;
}
百度收录方法为
string Result = GetSeoinfo.GetMetaString(Html,"找到相关网页约", "篇", true);
2.外链查询
方法与收录查询类似,只是指定的url参数变为link
3.google的PR查询
可调用相应的类实现
4.关键词排名查询
查询该网站此关键字的排名。
最后,就不一一贴出源码,大家感兴趣可以下来看看,关键词只写了google和百度的,google的还有点bug。
感谢园友的帮助,和51aspx上提供的类似源码。
附:源码