读书人

小弟我抓取网页内容 如何把不符合要求

发布时间: 2012-09-19 13:43:54 作者: rapoo

我抓取网页内容 怎么把不符合要求的也给抓出来了?正则式有问题?
我想取得一些双色球开奖的数据 想在"http://trend.baidu.lehecai.com/ssqZst!ssqjbzs.jhtml?flag=jbzs 这个网页中抓取一些数据 :
<td style="background-color: #FEFFEF;" class="chartBall01 ">06</td> //红球数据
<td style="background-color: #EEF5FD;" class="chartBall02 ">01</td> //篮球数据
经分析 主要应该是 class 的不同 可是 我写的程序 竟然把:<td class="yl01" style="background-color: #FEFFEF;">3</td>
也抓取下来了! 不知道是哪出了问题 我的代码如下:或者谁有更简便的获取开奖数据的方法?

C# code
    class Program    {        static string url = "http://trend.baidu.lehecai.com/ssqZst!ssqjbzs.jhtml?flag=jbzs";        static void Main(string[] args)        {            WebClient wc = new WebClient();            wc.Encoding = Encoding.UTF8;            string s = wc.DownloadString(url);            //Console.Write(s);            //<td style="background-color: #FEFFEF;" class="chartBall01 ">06</td>            //<td style="background-color: #EEF5FD;" class="chartBall02 ">01</td>            s = s.Replace("\r", " ").Replace("\n", " ");            MatchCollection matches = Regex.Matches(s, "<td(.*?)class=\"chartBall01 \"(.*?)>(\\d+)</td>", RegexOptions.IgnoreCase | RegexOptions.Multiline);            List<string> list = new List<string>();            for (int i = 0; i < matches.Count; i++)            {                Match match = matches[i];                Console.WriteLine(match.Value);            }                   Console.ReadKey();        }}


[解决办法]
C# code
MatchCollection matches = Regex.Matches(s, "<td([^>]*?)class=\"chartBall01 \"(.*?)>(\\d+)</td>", RegexOptions.IgnoreCase | RegexOptions.Multiline); 

读书人网 >C#

热点推荐