예제 #1
0
        public void ExecPageDBData()
        {
            DbHelp.Utilities util = new DbHelp.Utilities();

            Log.ClsLog        clsLog     = new Log.ClsLog();
            Common.UrlContorl urlContorl = new Common.UrlContorl();

            while (true)
            {
                Parallel.ForEach <DBEntity>(Program.dbList.GetConsumingEnumerable(), dbEntity =>
                                            //foreach (DBEntity dbEntity in Program.dbList.GetConsumingEnumerable())
                {
                    try
                    {
                        //插入SQL
                        util.ExecNonQuery(dbEntity.myCom, "");
                    }
                    catch (Exception ex)
                    {
                        urlContorl.SaveUrl(dbEntity.pageContentEntity, ex.ToString());
                        clsLog.AddLog(DateTime.Now.ToString(), "执行数据失败" + ex.ToString());
                        clsLog.AddLog(DateTime.Now.ToString(), dbEntity.pageContentEntity.SType + ";" + dbEntity.pageContentEntity.PID + ";" + dbEntity.pageContentEntity.Url + "");
                    }
                    Interlocked.Decrement(ref Program.clsDBSignal);
                });
            }
        }
예제 #2
0
        //保存数据
        public void SaveUrl(PageContentEntity entity, string ErrorMsg)
        {
            CookieFunc   cookieFunc = new CookieFunc();
            DatUrlEntity urlEntity  = new DatUrlEntity();

            urlEntity.ID             = entity.ID;
            urlEntity.KeyWord        = entity.KeyWord;
            urlEntity.ProgramName    = entity.ProgramName;
            urlEntity.SpiderDate     = entity.SpiderDate;
            urlEntity.PID            = entity.PID;
            urlEntity.SiteUrl        = entity.SiteUrl;
            urlEntity.SType          = entity.SType;
            urlEntity.SourUrl        = entity.SourUrl;
            urlEntity.Url            = entity.Url;
            urlEntity.UrlType        = entity.UrlType;
            urlEntity.UrlPara        = entity.UrlPara;
            urlEntity.EnCode         = entity.EnCode;
            urlEntity.APara          = entity.APara;
            urlEntity.CookieContent  = cookieFunc.GetCookiesStr(entity.CookieContent);
            urlEntity.AContent       = entity.AContent;
            urlEntity.PConent        = entity.PContent;
            urlEntity.ErrorMsg       = ErrorMsg;
            urlEntity.TrySpiderTimes = entity.TrySpiderTimes + 1;
            urlEntity.Depth          = entity.Depth;
            urlEntity.SpiderTime     = entity.SpiderTime;
            DbHelp.ClsDB      clsdb    = new DbHelp.ClsDB();
            Analysis.SqlBuild sqlBuild = new Analysis.SqlBuild();
            Analysis.SqlPara  sqlPara  = new Analysis.SqlPara();
            clsdb.AddPageDB(entity, sqlBuild.GetHalfBakeInsSql(), sqlPara.GetHalfBakeInsPara(urlEntity));
            DbHelp.Utilities util = new DbHelp.Utilities();
        }