如何查找某一页面外链个数?
二级域名也算
不是到chinaz之类的网站上查,我想知道他们是怎么实现这个功能的?
正则表达式匹配网址?后缀名实在是太多了
最好能上代码,多谢了还有一个问题,我有一个表,里面有20+项,是把他分成2个表还是就保持一个表?哪个性能更好一点?

解决方案 »

  1.   

    第一个问题  等待牛人
    第二个问题  分不分表就要看你现在的表的字段直接的关联了,
    这个跟业务是有关的。比如说老师和学生的俩个表的字段不可能和在一个表中,而且也不可能把一个人的firstname和lastname放到两个表中
      

  2.   

    第一个给你个方法,你自己再整理一下吧
     #region  获取网页内全部链接地址(包括图片连接地址)
            /// <summary>
            /// 获取网页内全部链接地址(包括图片连接地址)
            /// </summary>
            /// <param name="RemoteUrl">要获取的网页地址</param>
            /// <returns></returns>
            public static string GetRemotePageLink(string RemoteUrl)
            {
                string returnStr = "";
                string all_code = "";
                HttpWebRequest all_codeRequest = (HttpWebRequest)WebRequest.Create(RemoteUrl);  //建立一个WebRequest对象链接到远程服务器
                WebResponse all_codeResponse = all_codeRequest.GetResponse();   
                StreamReader the_Reader = new StreamReader(all_codeResponse.GetResponseStream());
                all_code = the_Reader.ReadToEnd();
                the_Reader.Close();            ArrayList my_list = new ArrayList();
                string p = @"http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?";
                Regex re = new Regex(p, RegexOptions.IgnoreCase);
                MatchCollection mc = re.Matches(all_code);
                for (int i = 0; i <= mc.Count - 1; i++)
                {
                    bool _foo = false;
                    string name = mc[i].ToString();
                    foreach (string list in my_list)
                    {
                        if (name == list)
                        {
                            _foo = true;
                            break;
                        }
                    }
                    if (!_foo)
                        returnStr += name.Replace("target=_blank","") + "<br>"; 
                }
                return returnStr;
            }
            #endregion第二个,可以分成2个表,做好索引就可以!