站长工具的简单实现

   这段时间在给外贸站做辅助系统,其中的一个功能模块为:实现的网站推广信息即时查询的功能。

   其实就是站长工具中的站点收录查询,站点外链查询,关键词查询等。

   这里贴一些源码,和大家一起分享(以豆瓣网在百度中的查询为例)。

  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上提供的类似源码。
 附:源码
 
posted @ 2010-07-30 00:18  clound  阅读(955)  评论(0编辑  收藏  举报