解决方案 »

  1.   

       Console.WriteLine("http://www.admin5.com/" + co[i].Value);             
        string contenthtml = gethtml("http://www.admin5.com/" + co[i].Value, Encoding.Default);
     这2句中 co[i].Value已含有前面的网址,不要了,
    Console.WriteLine( co[i].Value);             
        string contenthtml = gethtml( co[i].Value, Encoding.GetEncoding("UTF-8"));
    后面的编码都修改为Encoding.GetEncoding("UTF-8"),不然为乱码了。
    正则还要完善一下,抓取的 还有<p></p>之类的
      

  2.   

    加几句替换:基本上就可以了
           string title = cotitlt[0].Value;
                            string content = cocontent[0].Value;
                            content = Regex.Replace(content, "<.*?>", "");
                            content = content.Replace("&rdquo;", "");
                            content = content.Replace("&nbsp;", "");
                            content = content.Replace("&ldquo;", "");
                            Console.WriteLine("保存数据...");
      

  3.   

    你在这句设个断点,单步调试就能发现你的网址重复了:
      Console.WriteLine("http://www.admin5.com/" + co[i].Value);
    出现了"http://www.admin5.com/"http://www.admin5.com/ 这样了,所以去了前面的网址就可以了
    所以你就打不开这个网页了
      

  4.   

    在 string content = cocontent[0].Value;
    后面加上这几句就OK了,就取得文本了
                            content = Regex.Replace(content, "<.*?>", "");
                            content = content.Replace("&rdquo;", "");
                            content = content.Replace("&nbsp;", "");
                            content = content.Replace("&ldquo;", "");