Esempio n. 1
0
        /// <summary>
        /// 启动定时抓取程序
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnBegin_Click(object sender, EventArgs e)
        {
            dictTimerCrawllers.Clear();

            int count = 0;
            Dictionary <string, WebSiteCrawller> crawllers = ToolComm.GetEnabledCrawllers(treCrawlers);

            foreach (string key in crawllers.Keys)
            {
                count++;
                WebSiteCrawller crawller = crawllers[key];

                if (dictTimerCrawllers.ContainsKey(crawller.PlanTime))
                {
                    dictTimerCrawllers[crawller.PlanTime].Add(crawller);
                }
                else
                {
                    List <WebSiteCrawller> list = new List <WebSiteCrawller>();
                    list.Add(crawller);
                    dictTimerCrawllers.Add(crawller.PlanTime, list);
                }
            }

            if (count == 0)
            {
                MessageBox.Show("请选择要抓取的选项!");
                return;
            }

            ToolComm.SaveConfigs(treCrawlers);

            timer.AutoReset = true;
            timer.Enabled   = true;
            timer.Interval  = 60 * 1000; //1分钟执行一次
            timer.Elapsed  += new System.Timers.ElapsedEventHandler(timer_Tick);
            AppendText("开始抓取数据......");
            BtnBegin.Enabled = false;
            grpCurr.Enabled  = false;
        }