Exemple #1
0
        private void GetRootPages()
        {
            BackCallDelegate backCallDelegate = delegate()
            {
                foreach (ListPage page in this.AllFirstPages)
                {
                    rootPageGridView.Rows.Add(true, 1, txtPageCount.Text.Trim(), page.PageName, page.PageUrl);
                }

                getRootPageButton.Text  = "读取根级页";
                lbeGetRootPages.Visible = false;
                return(null);
            };


            RootPageConfiguration rootPageConf = SnifferConfig.GetRootPageConfiguration(this.RootPageName);

            if (rootPageConf == null)
            {
                ClearSet();
                getRootPageButton.Invoke(backCallDelegate);
                return;
            }

            ListPage rootPage = new ListPage((ListPageConfiguration)rootPageConf);

            if (rootPageConf.IsSniffer)
            {
                rootPage.Sniffer();

                if (!rootPage.Done || rootPage.SubPageUrlResults.Count == 0)
                {
                    //采集不到
                }

                foreach (UrlItem urlItem in rootPage.SubPageUrlResults)
                {
                    ListPage page = new ListPage(rootPage, (ListPageConfiguration)rootPage.ListPageConfiguration.SubPageConfiguration);
                    page.PageName = urlItem.Title;
                    page.PageUrl  = urlItem.Url;
                    this.AllFirstPages.Add(page);
                }
            }
            else
            {
                foreach (ListPageConfiguration firstPageConfi in rootPageConf.SubPageConfigurations)
                {
                    this.AllFirstPages.Add(new ListPage(rootPage, firstPageConfi));
                }
            }


            getRootPageButton.Invoke(backCallDelegate);
        }
Exemple #2
0
        private void SnifferDone()
        {
            FirstPages.Clear();
            //AllFirstPages.Clear();
            FirstPageCount     = 0;
            FirstPageDoneCount = 0;

            SnifferThreads.Clear();
            Threads.Clear();

            BackCallDelegate backCallDelegate = delegate()
            {
                dataGridView.Rows.Clear();
                messageLabel.Text = "已经停止......";
                return(null);
            };

            messageLabel.Invoke(backCallDelegate);
        }