站长工具的简单实现
这段时间在给外贸站做辅助系统,其中的一个功能模块为:实现的网站推广信息即时查询的功能。
其实就是站长工具中的站点收录查询,站点外链查询,关键词查询等。
这里贴一些源码,和大家一起分享(以豆瓣网在百度中的查询为例)。
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上提供的类似源码。
附:源码