⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cs

📁 智能新闻自动采集系统.能够自动下载各类新闻网站的内容,比较使用
💻 CS
📖 第 1 页 / 共 2 页
字号:
                            rss.NewsUrl = row.Cells["NewsUrl"].Value.ToString();
                            rss.NewsID = row.Cells["NewsID"].Value.ToString().Trim();
                            rss.MaxNewscount = row.Cells["MaxNewscount"].Value.ToString().Trim();
                            int a = int.Parse(rss.MaxNewscount);
                            if (rss.IsGetNews == "")
                            {
                                rss.IsGetNews = "False";
                            }
                            Rss.UpdateRssNews(rss);
                            BindGrid();
                            break;

                        }
                        catch (Exception e1)
                        {
                            MessageBox.Show(e1.Message);
                            break;

                        }
                        finally
                        {

                        }
                    }
                case "EditConfig":
                    {
                        DataGridViewRow row = dataGridView1.Rows[e.RowIndex];
                        RssModel rss = new RssModel();
                        rss.EndTag = row.Cells["EndTag"].Value.ToString();
                        rss.NewsName = row.Cells["NewsName"].Value.ToString();
                        rss.StartTag = row.Cells["StartTag"].Value.ToString();
                        rss.NewsUrl = row.Cells["NewsUrl"].Value.ToString();
                        BindConfig(rss);
                        tabControl1.SelectedIndex = 3;
                        break;
                    }
            }
        }
        private void btnAdd_Click(object sender, EventArgs e)
        {
            if (txtNewsUrl.Text.Trim() == "")
            {
                MessageBox.Show("站点URL不能为空");
                return;
            }
            RssModel rss = new RssModel();
            rss.NewsDescription = txtDescription.Text.Trim();
            rss.NewsID = txtNewsID.Text.Trim();
            rss.NewsUrl = txtNewsUrl.Text.Trim();
            rss.NewsName = "Default";
            rss.StartTag = txtStartTag.Text.Trim();
            rss.EndTag = txtEndTag.Text.Trim();
            rss.ImgStartTag = txtImgStartTag.Text.Trim();
            rss.ImgEndTag = txtImgEndTag.Text.Trim();
            rss.IsGetNews = checkIsGet.Checked.ToString();
            rss.NewsName = txtNewsName.Text.Trim();
            if (Rss.ExistNews(rss))
            {
                MessageBox.Show("该新闻站点已存在");
                return;
            }
            Rss.AddSite(rss);
            BindGrid();
            MessageBox.Show("添加成功");
            tabControl1.SelectedIndex = 3;
            BindConfig(rss);


        }
        private void 开始获取新闻ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            GetNews();
        }
        private void 停止获取新闻ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                ThreadGetNews.Abort();
                开始获取新闻ToolStripMenuItem.Enabled = true;
            }
            catch
            {
                ;
            }
        }
        void BindConfig(RssModel rss)
        {

            ConfigUrl.Text = rss.NewsUrl;
            ConfigName.Text = rss.NewsName;
            textBoxEndTag.Text = rss.EndTag;
            textBoxStartTag.Text = rss.StartTag;
            XmlDocument XML = new XmlDocument();
            XML.Load("RssNews.xml");
            XmlNode ConfigNode = XML.SelectSingleNode("RssNews/NewsSite/Channel[NewsUrl='" + rss.NewsUrl + "']/Config");
            if (ConfigNode != null)
            {
                rss.NewsConfig = new NewsConfig();
                rss.NewsConfig.IsGetA = ConfigNode["IsGetA"].InnerText;
                rss.NewsConfig.IsGetDIV = ConfigNode["IsGetDIV"].InnerText;
                rss.NewsConfig.IsGetIMG = ConfigNode["IsGetIMG"].InnerText;
                rss.NewsConfig.IsGetSPAN = ConfigNode["IsGetSPAN"].InnerText;
                rss.NewsConfig.IsGetTABLE = ConfigNode["IsGetTABLE"].InnerText;
            }
            chbA.Checked = false;
            chbIMG.Checked = false;
            chbTABLE.Checked = false;
            chbDIV.Checked = false;
            chbSPAN.Checked = false;
            if (rss.NewsConfig.IsGetA == "TRUE")
            {
                chbA.Checked = true;
            }
            if (rss.NewsConfig.IsGetIMG == "TRUE")
            {
                chbIMG.Checked = true;
            }
            if (rss.NewsConfig.IsGetTABLE == "TRUE")
            {
                chbTABLE.Checked = true;
            }
            if (rss.NewsConfig.IsGetDIV == "TRUE")
            {
                chbDIV.Checked = true;
            }
            if (rss.NewsConfig.IsGetSPAN == "TRUE")
            {
                chbSPAN.Checked = true;
            }


        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (ConfigUrl.Text == "")
            {
                MessageBox.Show("请选择您要更新的新闻站点");
                tabControl1.SelectedIndex = 1;
                return;
            }
            RssModel rss = new RssModel();
            rss.NewsUrl = ConfigUrl.Text;
            rss.StartTag = textBoxStartTag.Text.Trim();
            rss.EndTag = textBoxEndTag.Text.Trim();
            rss.NewsConfig = new NewsConfig();
            rss.NewsConfig.IsGetA = chbA.Checked.ToString().ToUpper();
            rss.NewsConfig.IsGetDIV = chbDIV.Checked.ToString().ToUpper();
            rss.NewsConfig.IsGetIMG = chbIMG.Checked.ToString().ToUpper();
            rss.NewsConfig.IsGetSPAN = chbSPAN.Checked.ToString().ToUpper();
            rss.NewsConfig.IsGetTABLE = chbTABLE.Checked.ToString().ToUpper();
            XmlDocument XML = new XmlDocument();
            XML.Load("RssNews.xml");
            XmlNode ConfigNode = XML.SelectSingleNode("RssNews/NewsSite/Channel[NewsUrl='" + rss.NewsUrl + "']/Config");
            if (ConfigNode == null)
            {
                MessageBox.Show("该新闻站点已不存在");
                return;
            }
            ConfigNode["IsGetA"].InnerText = rss.NewsConfig.IsGetA;
            ConfigNode["IsGetDIV"].InnerText = rss.NewsConfig.IsGetDIV;
            ConfigNode["IsGetIMG"].InnerText = rss.NewsConfig.IsGetIMG;
            ConfigNode["IsGetSPAN"].InnerText = rss.NewsConfig.IsGetSPAN;
            ConfigNode["IsGetTABLE"].InnerText = rss.NewsConfig.IsGetTABLE;

            XmlNode Node = XML.SelectSingleNode("RssNews/NewsSite/Channel[NewsUrl='" + rss.NewsUrl + "']");
            if (Node != null)
            {
                Node["StartTag"].InnerText = rss.StartTag;
                Node["EndTag"].InnerText = rss.EndTag;
            }
            XML.Save("RssNews.xml");
            BindGrid();
            MessageBox.Show("更新成功");
            tabControl1.SelectedIndex = 1;


        }
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            TreeNode Node = e.Node;
            if (Node.Tag != null)
            {
                NewsModel news = new NewsModel();
                news.NewsUrl = (string)Node.Tag;
                news = News.NewsBrowser(news);
                if (news != null)
                {
                    webBrowser1.DocumentText = news.NewsTitle + @"<br>" + news.NewsAuthor + @"<br>" + news.NewsPubDate + @"<br>" + news.NewsPubDate + @"<br>" + news.NewsCategory + @"<br>" + news.NewsUrl + @"<br><br><br><br>" + @"<br>" + news.NewsBody + @"<br>";
                    tabControl1.SelectedIndex = 4;
                }
            }
        }

        private void 程序启动就开始获取ToolStripMenuItem_Click(object sender, EventArgs e)
        {
                XmlDocument XML = new XmlDocument();
            XML.Load("RssNews.xml");
            string autoGet = "";
            XmlNode Node = XML.SelectSingleNode("RssNews/Config");
            if (Node != null)
            {
                autoGet = Node["IsAutoGet"].InnerText;
                if (autoGet == "False")
                {
                    程序启动就开始获取ToolStripMenuItem.Checked = true;
                    Node["IsAutoGet"].InnerText = "True";
                }
                else
                {
                    程序启动就开始获取ToolStripMenuItem.Checked = false;
                    Node["IsAutoGet"].InnerText = "False"; 
                }
            }
            XML.Save("RssNews.xml");
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -