站长工具的简单实现

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

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

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

  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上提供的类似源码。
 附:源码
 

你可能感兴趣的:(工具)