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

📄 collect.cs

📁 最好用的站点内容管理系统 全部源代码都有
💻 CS
📖 第 1 页 / 共 2 页
字号:
        }
        private string[] GetNewsList(PageList pagelist)
        {
            if (!pagelist.Fetch())
            {
                HProgressBar.Roll(pagelist.LastError, 0);
            }
            pagelist.FigureList();
            pagelist.FigureNewsUrls();
            return pagelist.NewsUrl;
        }
        #endregion

        /// <summary>
        /// 获取目录信息和采集站点分页
        /// </summary>
        /// <param name="FolderID">目录ID,如果小于1则为根目录,否则只获取该目录下的站点</param>
        /// <param name="PageIndex">当前页码</param>
        /// <param name="PageSize">每页记录数</param>
        /// <param name="RecordCount">返回记录总条数</param>
        /// <param name="PageCount">返回总页数</param>
        /// <returns>返回当前页的数据集</returns>
        public DataTable GetFolderSitePage(int FolderID, int PageIndex, int PageSize, out int RecordCount, out int PageCount)
        {
            return dal.GetFolderSitePage(FolderID, PageIndex, PageSize, out RecordCount, out PageCount);
        }
        /// <summary>
        /// 复制目录
        /// </summary>
        /// <param name="id">要复制的目录ID</param>
        public void FolderCopy(int id)
        {
            dal.FolderCopy(id);
        }
        /// <summary>
        /// 复制采集站点
        /// </summary>
        /// <param name="id">要复制的站点的ID</param>
        public void SiteCopy(int id)
        {
            dal.SiteCopy(id);
        }
        /// <summary>
        /// 删除采集目录
        /// </summary>
        /// <param name="id">要删除的目录ID</param>
        public void FolderDelete(int id)
        {
            dal.FolderDelete(id);
        }
        /// <summary>
        /// 删除采集站点
        /// </summary>
        /// <param name="id">要删除的站点ID</param>
        public void SiteDelete(int id)
        {
            dal.SiteDelete(id);
        }
        /// <summary>
        /// 获取指定的目录信息(用于目录修改)
        /// </summary>
        /// <param name="id">要获取的目录ID</param>
        /// <returns>指定的数据</returns>
        public DataTable GetFolder(int id)
        {
            return dal.GetFolder(id, false);
        }
        /// <summary>
        /// 获取所有的目录的信息
        /// </summary>
        /// <returns>返回所有的目录信息</returns>
        public DataTable GetFolder()
        {
            return dal.GetFolder(0, true);
        }
        /// <summary>
        /// 获取指定的采集站点信息(主要用于站点信息修改和设置)
        /// </summary>
        /// <param name="id">站点的ID</param>
        /// <returns>数据集</returns>
        public DataTable GetSite(int id)
        {
            return dal.GetSite(id);
        }
        /// <summary>
        /// 新增一个采集站点
        /// </summary>
        /// <param name="st">新增的采集站点信息</param>
        /// <returns>返回新增的站点的自动编号</returns>
        public int SiteAdd(CollectSiteInfo st)
        {
            Encoding end = Encoding.GetEncoding(st.Encode);
            if (!this.ValidateUrl(st.objURL))
                throw new Exception(ErrorMsg);
            return dal.SiteAdd(st);
        }
        public void SiteUpdate(CollectSiteInfo st, int step)
        {
            if (step.Equals(1))
            {
                Encoding end = Encoding.GetEncoding(st.Encode);
                if (!this.ValidateUrl(st.objURL))
                    throw new Exception(ErrorMsg);
            }
            else if (step.Equals(2))
            {
                switch (st.OtherType)
                {
                    case 0:
                        st.OtherPageSetting = "";
                        st.StartPageNum = -1;
                        st.EndPageNum = -1;
                        break;
                    case 1:
                    case 2:
                        st.StartPageNum = -1;
                        st.EndPageNum = -1;
                        break;
                }
            }
            dal.SiteUpdate(st, step);
        }
        public int FolderAdd(string Name, string Description)
        {
            return dal.FolderAdd(Name, Description);
        }
        public void FolderUpdate(int id, string Name, string Description)
        {
            dal.FolderUpdate(id, Name, Description);
        }
        private bool ValidateUrl(string sUrl)
        {
            bool flag = false;
            try
            {
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(sUrl);
                req.KeepAlive = false;
                HttpWebResponse rsp = (HttpWebResponse)req.GetResponse();
                rsp.Close();
                flag = true;
            }
            catch (WebException e)
            {
                HttpWebResponse response = (HttpWebResponse)e.Response;
                if (response != null)
                {
                    if (response.StatusCode == HttpStatusCode.Unauthorized)
                    {
                        string challenge = null;
                        challenge = response.GetResponseHeader("WWW-Authenticate");
                        if (challenge != null)
                            ErrorMsg = challenge;
                    }
                    else
                        ErrorMsg = e.Message;
                }
                else
                    ErrorMsg = "请检查采集对象页地址,不能从服务器取得任何信息!";

            }
            catch (Exception e)
            {
                ErrorMsg = e.Message;
            }
            return flag;
        }
        public DataTable GetRulePage(int PageIndex, int PageSize, out int RecordCount, out int PageCount)
        {
            return dal.GetRulePage(PageIndex, PageSize, out  RecordCount, out PageCount);
        }
        public void RuleDelete(int id)
        {
            dal.RuleDelete(id);
        }
        public int RuleAdd(string Name, string OldStr, string NewStr, int[] AppSites, bool IgnoreCase)
        {
            return dal.RuleAdd(Name, OldStr, NewStr, AppSites, IgnoreCase);
        }
        public void RuleUpdate(int RuleID, string Name, string OldStr, string NewStr, int[] AppSites, bool IgnoreCase)
        {
            dal.RuleUpdate(RuleID, Name, OldStr, NewStr, AppSites, IgnoreCase);
        }
        public DataTable GetRule(int id)
        {
            return dal.GetRule(id);
        }
        public DataTable SiteList()
        {
            return dal.SiteList();
        }
        public void NewsAdd(CollectNewsInfo newsinfo)
        {
            dal.NewsAdd(newsinfo);
        }
        public DataTable GetNewsPage(int PageIndex, int PageSize, out int RecordCount, out int PageCount)
        {
            return dal.GetNewsPage(PageIndex, PageSize, out  RecordCount, out  PageCount);
        }
        public void NewsDelete(string id)
        {
            dal.NewsDelete(id);
        }
        public CollectNewsInfo GetNews(int id)
        {
            return dal.GetNews(id);
        }
        public void NewsUpdate(int id, CollectNewsInfo info)
        {
            dal.NewsUpdate(id, info);
        }

        #region 新闻入库
        /// <summary>
        /// 新闻入库
        /// </summary>
        /// <param name="id">如果为0表示入库所有未入库的新闻,否则为要入库的新闻的编号,以,分隔</param>
        public void StorageNews(string id)
        {
            string s = "请点击<a href=\"Collect_News.aspx\">这里返回</a>";
            try
            {
                HTextProgressBar.Start("正在统计数据");
                int[] nid = null;

                bool bUnAll = false;
                if (id == "0")
                {
                    bUnAll = true;
                }
                else
                {
                    if (id.IndexOf(",") > 0)
                    {
                        string[] _id = id.Split(',');
                        int num = _id.Length;
                        nid = new int[num];
                        for (int i = 0; i < num; i++)
                            nid[i] = int.Parse(_id[i]);
                    }
                    else
                    {
                        nid = new int[] { int.Parse(id) };
                    }
                    if (nid.Length < 1)
                        HTextProgressBar.EndProgress("没有选择要入库的采集新闻!" + s);
                }
                int ns = 0;
                int nf = 0;
                HTextProgressBar.ShowText("开始入库采集新闻,请稍候。要终止," + s);
                dal.StoreNews(bUnAll, nid, out ns, out nf);
                HTextProgressBar.EndProgress("采集新闻入库已完成。共成功:" + ns + "条,失败:" + nf + "条新闻。" + s);
            }
            catch (Exception ex)
            {
                HTextProgressBar.EndProgress("采集新闻入库异常终止。异常信息:" + ex.Message + "<br/>" + s);
            }
        }
        #endregion 新闻入库
    }
}

⌨️ 快捷键说明

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