示例#1
0
        /// <summary>
        ///  获取某站点关键字在某搜索引擎的排名
        /// </summary>
        /// <param name="_engine"></param>
        /// <param name="Url"></param>
        /// <param name="KeyWord"></param>
        /// <returns></returns>
        public static string engineKeyWordinfo(EnumSearchEngine _engine, string Url, string KeyWord)
        {
            string re        = "200+";
            string Html      = "";
            string searchUrl = "";

            switch (_engine)
            {
            case EnumSearchEngine.Baidu:
                EchoHelper.Echo("关键词【" + KeyWord + "】的排名查询中,请稍后...", "", EchoHelper.EchoType.普通信息);
                searchUrl = "http://i.linkhelper.cn/searchkeywords.asp";
                string           postData = StringHelper.urlencode("url=" + Url + "&querywords=" + KeyWord + "&btnsubmit=%B2%E9+%D1%AF", "gb2312");
                CookieCollection cookies  = new CookieCollection();
                Html = new xkHttp().httpPost(searchUrl, postData, ref cookies, searchUrl, Encoding.GetEncoding("gb2312"));
                re   = RegexHelper.getMatch(Html, "百度排名:(.*?)&nbsp;&nbsp;", 1);
                if (re.Contains("排名在"))
                {
                    re = "200+";
                }
                break;

            case EnumSearchEngine.Google:
                break;
            }
            return(re);
        }
示例#2
0
        /// <summary>
        ///  反向链接信息
        /// </summary>
        public static string GetBackLinkInfo(EnumSearchEngine _engine, string Url)
        {
            CutRegexInfo model  = SeoHelper.GetCutRegexInfo(_engine, Url, false);
            string       Html   = HtmlCatch.GetHtml(model.siteUrl, model.encoding);
            string       Result = SeoHelper.GetMetaString(Html, model.regStart, model.regEnd, true);

            return(HtmlCatch.NoHTML(Result));
        }
示例#3
0
        /// <summary>
        ///  获取某站点系列关键字在某搜索引擎的排名
        /// </summary>
        /// <returns></returns>
        public static List <KeyWords> GetKeyWordInfo(EnumSearchEngine _engine, string Url, List <string> list)
        {
            List <KeyWords> KeyList = new List <KeyWords>();

            foreach (string keyword in list)
            {
                KeyWords Model = new KeyWords();
                Model.Rank    = GetKeyWordInfo(_engine, Url, keyword);
                Model.Keyname = keyword;
                KeyList.Add(Model);
            }
            return(KeyList);
        }
示例#4
0
        /// <summary>
        ///  某站点在某搜索引擎下所有信息
        /// </summary>
        public static SiteSeoInfo SeoinfoAppendModelInfo(EnumSearchEngine _engine, string Url, List <string> list)
        {
            SiteSeoInfo Model = new SiteSeoInfo();

            Model.SearchEngine = _engine;
            Model.SiteUrl      = Url;
            Model.Record       = GetRecordInfo(_engine, Url).Replace("数", "").Replace("约", "");
            Model.BackLink     = GetBackLinkInfo(_engine, Url).Replace("数", "").Replace("约", "");
            if (_engine == EnumSearchEngine.Google)
            {
                Model.PR = PRCrack.PageRank.CheckPR("http://" + Url);
            }
            Model.listKeyword = GetKeyWordInfo(_engine, Url, list);
            return(Model);
        }
示例#5
0
        /// <summary>
        /// 获取某站点特定搜索引擎信息
        /// </summary>
        public static SearchEngineInfo SeoModel(string Url, EnumSearchEngine _engine)
        {
            string[]         meta  = GetMeta(Url);
            SearchEngineInfo Model = new SearchEngineInfo();

            Model.SearchEngine = _engine;
            Model.SiteUrl      = Url;

            Model.Title       = meta[0];
            Model.Keywords    = meta[1];
            Model.Description = meta[2];
            Model.Record      = GetRecordInfo(_engine, Url).Replace("数", "").Replace("约", "");
            Model.BackLink    = GetBackLinkInfo(_engine, Url).Replace("数", "").Replace("约", "");
            if (_engine == EnumSearchEngine.Google)
            {
                Model.PR = PRCrack.PageRank.CheckPR("http://" + Url);
            }
            return(Model);
        }
示例#6
0
        /// <summary>
        ///  获取某站点关键字在某搜索引擎的排名
        /// </summary>
        public static string GetKeyWordInfo(EnumSearchEngine _engine, string Url, string KeyWord)
        {
            System.Text.RegularExpressions.MatchCollection mc;
            System.Text.RegularExpressions.MatchCollection mcOther;
            string Html       = "";
            string resultText = "";
            string searchUrl  = "";
            Regex  reg;
            Regex  regOther;

            switch (_engine)
            {
            case EnumSearchEngine.Baidu:
                searchUrl = "http://www.baidu.com/s?tn=baiduadv&rn=100&q1=";
                Html      = HtmlCatch.GetHtml(searchUrl + HttpUtility.UrlEncode(KeyWord, System.Text.Encoding.GetEncoding("gb2312")), "gb2312");
                // Url = Url.Replace("\\", "");
                resultText = SeoHelper.GetMetaString(Html, "<div id=\"wrapper\">", "<font color=\"#008000\">" + Url + "", true);
                reg        = new Regex("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"");
                regOther   = new Regex("<table cellpadding=\"0\" cellspacing=\"0\"");
                mc         = reg.Matches(resultText);
                mcOther    = regOther.Matches(resultText);
                return((mc.Count + mcOther.Count).ToString());

                break;

            case EnumSearchEngine.Google:
                Html       = HtmlCatch.GetHTMLByUrl("http://www.google.com.hk/search?hl=zh-CN&source=hp&num=100&q=" + HttpUtility.UrlEncode(KeyWord) + "", "Get", "", false, System.Text.Encoding.UTF8);
                resultText = SeoHelper.GetMetaString(Html, "<title>", "<br><cite>\\S*?" + Url, true);
                reg        = new Regex("<li class=g>");
                mc         = reg.Matches(resultText);
                return(mc.Count.ToString());

                break;

            default:
                break;
            }
            return("0");
        }
示例#7
0
        /// <summary>
        ///  站点收录信息
        /// </summary>
        /// <param name="_engine"></param>
        /// <returns></returns>
        public static int getBaiduNum(EnumSearchEngine _engine, string url)
        {
            //EchoHelper.Echo("网站【" + url + "】的收录查询中,请稍后...", "", EchoHelper.EchoType.普通信息);
            string regStart = "找到相关结果数";
            string regEnd   = "个";
            string siteUrl  = "http://www.baidu.com/s?wd=site%3A" + url;

            CookieCollection cookies = new CookieCollection();
            string           html    = new xkHttp().httpGET(siteUrl, ref cookies, siteUrl);
            string           Result  = StringHelper.GetMetaString(html, regStart, regEnd, true);
            int re = 9999;

            try {
                re = Convert.ToInt32(Result);
            } catch {
                re = 0;
            }
            if (html.Contains("没有找到与"))
            {
                re = 0;
            }
            return(re);
        }
示例#8
0
        /// <summary>
        ///  正则表达式信息设置
        /// </summary>
        /// <param name="_engine"></param>
        /// <param name="Url"></param>
        /// <returns></returns>
        public static CutRegexInfo GetCutRegexInfo(EnumSearchEngine _engine, string Url, bool isRecord)
        {
            CutRegexInfo Model = new CutRegexInfo();

            switch (_engine)
            {
            case EnumSearchEngine.Google:
                Model.regStart = "找到";
                Model.regEnd   = "条结果";
                Model.encoding = "gb2312";
                if (isRecord)
                {
                    Model.siteUrl = "http://www.google.com.hk/search?hl=zh-CN&source=hp&q=site%3A" + Url;
                }
                else
                {
                    Model.siteUrl = "http://www.google.com.hk/search?hl=zh-CN&source=hp&q=link:" + Url;
                }
                break;

            case EnumSearchEngine.Baidu:
                Model.regStart = "找到相关结果";
                Model.regEnd   = "个";
                Model.encoding = "gb2312";
                if (isRecord)
                {
                    Model.siteUrl = "http://www.baidu.com/s?wd=site%3A" + Url;
                }
                else
                {
                    Model.siteUrl = "http://www.baidu.com/s?cl=3&wd=domain:" + Url;
                }
                break;

            case EnumSearchEngine.Yahoo:
                Model.regStart = "找到相关网页";
                Model.regEnd   = "条";
                Model.encoding = "utf-8";
                if (isRecord)
                {
                    Model.siteUrl = "http://one.cn.yahoo.com/s?p=site%3A" + Url;
                }
                else
                {
                    Model.siteUrl = "http://sitemap.cn.yahoo.com/search?p=" + Url + "&bwm=i";
                }
                break;

            case EnumSearchEngine.Sogou:
                Model.regStart = "找到";
                Model.regEnd   = "个网页";
                Model.encoding = "gb2312";
                if (isRecord)
                {
                    Model.siteUrl = "http://www.sogou.com/web?query=site%3A" + Url;
                }
                else
                {
                    Model.siteUrl = "http://www.sogou.com/web?query=link:" + Url;
                }
                break;

            case EnumSearchEngine.Soso:
                Model.regStart = "搜索到";
                Model.regEnd   = "项结果";
                Model.encoding = "gb2312";
                if (isRecord)
                {
                    Model.siteUrl = "http://www.soso.com/q?pid=s.idx&w=site%3A" + Url;
                }
                else
                {
                    Model.siteUrl = "http://www.soso.com/q?pid=s.idx&w=link:" + Url;
                }
                break;

            case EnumSearchEngine.Bing:
                Model.regStart = "共";
                Model.regEnd   = "条";
                Model.encoding = "utf-8";
                if (isRecord)
                {
                    Model.siteUrl = "http://cn.bing.com/search?form=QBLH&filt=all&q=site%3A" + Url;
                }
                else
                {
                    Model.siteUrl = "http://cn.bing.com/search?form=QBLH&filt=all&q=link:" + Url;
                }
                break;

            case EnumSearchEngine.Youdao:
                Model.regStart = "共";
                Model.regEnd   = "条结果";
                Model.encoding = "utf-8";
                if (isRecord)
                {
                    Model.siteUrl = "http://www.youdao.com/search?ue=utf8&keyfrom=web.index&q=site:" + Url;
                }
                else
                {
                    Model.siteUrl = "http://www.youdao.com/search?ue=utf8&keyfrom=web.index&q=link:" + Url;
                }
                break;
            }
            return(Model);
        }