这是上个帖子未完的问题,单独开贴发问。
请参见“http://topic.csdn.net/u/20111220/12/31cfb6bc-bb28-4299-b3a5-e67baa0cb500.html?51506”网站:http://bbs.huainet.com/search.php?mod=forum
编程目标:搜索指定关键字,获取帖子数量
例如,搜索“小学教育”,得出结果:
 结果:找到“小学教育”相关内容 20 个上午搜索时的网址是:
http://bbs.huainet.com/search.php?mod=forum&searchid=136&orderby=lastpost&ascdesc=desc&searchsubmit=yes&kw=%D0%A1%D1%A7%BD%CC%D3%FD下午搜索时的网址是:
http://bbs.huainet.com/search.php?mod=forum&searchid=813&orderby=lastpost&ascdesc=desc&searchsubmit=yes&kw=%D0%A1%D1%A7%BD%CC%D3%FD比较后可以发现:searchid这个参数值从136变为813,而kw=“小学教育”没有变。通过测试可以发现,
这个网站呈现给用户的搜索结果页面是通过searchid来获取数据的。如果不填这个参数,得到的是搜索提交页面而非搜索结果页面!那么,我在C#窗体中,如何编写代码得到这个结果页面呢?或者说如何构造下面代码中的字符串string surl ?小弟初学C#,望各路高人不吝赐教。附代码:        private void HuoQu2(string MyWeb_URL2)
        {
            WebClient MyWeb_Client = new WebClient();
            //获取系统凭证
            MyWeb_Client.Credentials = CredentialCache.DefaultCredentials;            //DownloadData 下载指定URL资源
            byte[] MyWeb_b = MyWeb_Client.DownloadData(MyWeb_URL2);            string MyWeb_str = Encoding.Default.GetString(MyWeb_b);
            //去除html标记
            //MyWeb_str = Regex.Replace(MyWeb_str, @"<[^>]+>|</[^>]+>", "").Trim();
            this.textBox2.Text = MyWeb_str;            //找到搜索结果
            Regex r4 = new Regex(@"<h2>[\s\S]*?(\d+)[\s\S]*?</h2>", RegexOptions.Multiline);
            string search_result = r4.Match(MyWeb_str).Value;//<h2>结果: <em>找到 “<span class=\"emfont\">小学教育</span>” 相关内容 20 个</em> </h2>
            int num = int.Parse(r4.Match(MyWeb_str).Groups[1].Value ?? "0");//20
            this.textBox3.Text =num.ToString() + "\r\n" + search_result;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            //string surl = "http://bbs.huainet.com/search.php?mod=forum&searchid=136&orderby=lastpost&ascdesc=desc&searchsubmit=yes&kw=%D0%A1%D1%A7%BD%CC%D3%FD";
            //HuoQu2(surl);
            HuoQu2(this.textBox1.Text.Trim());
        }