代码大体是对的。但是起码你得懂一点正则表达式吧。

解决方案 »

  1.   


                string url = "http://www.aomenduchang123001.com";
                string html = string.Empty;
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                using (Stream stream = response.GetResponseStream())
                {
                    using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
                    {
                        html = reader.ReadToEnd();
                        reader.Close();
                    }
                    stream.Close();
                }
                Match match = Regex.Match(html, @"(?i)<li><span>2014-05-06</span><a\s*href='([^']*?)'\s*title=""([^""]*?)"">史上最暴强国足笑话大全</a></li>");
                string title = match.Groups[2].Value;
                request = (HttpWebRequest)HttpWebRequest.Create(url+match.Groups[1]);
                response = (HttpWebResponse)request.GetResponse();
                using (Stream stream = response.GetResponseStream())
                {
                    using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
                    {
                        html = reader.ReadToEnd();
                        reader.Close();
                    }
                    stream.Close();
                }
                match = Regex.Match(html, @"(?i)<div\s*?id=entrybody>([\s\S]*?)<br>\s*?</div>");
                string content = match.Groups[1].Value;
                content = Regex.Replace(content, "<[^>]*?>", "\n");
                Console.WriteLine(title);
                Console.WriteLine(content);
    这只是其中的一个标题和内容,其他的做法类同,只要在foreach里遍历url即可