Esempio n. 1
0
        public void Run()
        {
            while (true)
            {
                BotTaskService       bt      = new BotTaskService();
                Random               r       = new Random();
                IW2S_WX_BaiduCommend keyTask = bt.GetBotTask();  //get_task();
                if (keyTask == null || keyTask.CommendKeyword == "" || keyTask.CommendKeyword == null)
                {
                    SetReady();
                    log("No search task ! start search Detail !!!");
                    Thread.Sleep(1000);
                    //WX_Data wscData = bt.GetWxData();
                    //if (wscData == null)
                    //{
                    //}
                    continue;
                }
                SetBusy();

                var update = new UpdateDocument {
                    { "$set", new QueryDocument {
                          { "WXStatus", 1 }, { "BotStatus", 1 }
                      } }
                };

                var result = MongoDBHelper.Instance.Get_IW2S_BaiduCommend().UpdateOne(new QueryDocument {
                    { "_id", keyTask._id }
                }, update);

                Snapshot(keyTask);

                //if (list.Count > 0)
                //{
                //    foreach (var busKeyword in list)
                //    {
                //        Snapshot(keyTask, busKeyword, ExcludeKeyword);
                //    }
                //}
                try
                {
                    update = new UpdateDocument {
                        { "$set", new QueryDocument {
                              { "WXStatus", 2 }, { "BotStatus", 2 }
                          } }
                    };

                    result = MongoDBHelper.Instance.Get_IW2S_BaiduCommend().UpdateOne(new QueryDocument {
                        { "_id", keyTask._id }
                    }, update);
                }
                catch (Exception ex)
                {
                    log(DateTime.Now + "ERROR ." + ex.Message);
                    Thread.Sleep(2000);
                }
            }
        }
        public List <Dnl_MappingCoPresent> BaiduQuery(Dnl_KeywordMapping searchTsk, List <Dnl_KeywordMapping> taskList)
        {
            List <Dnl_MappingCoPresent> linkvaluelist = new List <Dnl_MappingCoPresent>();
            BotTaskService bt     = new BotTaskService();
            var            keyIds = taskList.Select(x => x.KeywordId.ToString()).ToList();
            //获取链接数据
            List <Dnl_Link_BaiduDto> linklist = bt.GetBaiduLinkTitleList(keyIds);
            //获取当前计算映射的位置
            int index = 0;

            for (int i = 0; i < taskList.Count; i++)
            {
                if (searchTsk.Keyword == taskList[i].Keyword)
                {
                    index = i;
                }
            }
            //计算与其他映射关系
            for (int i = 0; i < taskList.Count; i++)
            {
                Dnl_MappingCoPresent lk = new Dnl_MappingCoPresent();
                lk.source           = index;
                lk.target           = i;
                lk.KeywordMappingId = searchTsk._id;
                lk.ProjectId        = searchTsk.ProjectId;
                lk.CategoryId       = searchTsk.CategoryId;
                int linkNum = 0;
                foreach (var item in linklist)
                {
                    if (!string.IsNullOrEmpty(item.Title))
                    {
                        if (item.Title.Contains(searchTsk.Keyword) && item.Title.Contains(taskList[i].Keyword))
                        {
                            linkNum = linkNum + 1;
                        }
                        else if (!string.IsNullOrEmpty(item.Description) && item.Description.Contains(searchTsk.Keyword) && item.Description.Contains(taskList[i].Keyword))
                        {
                            linkNum = linkNum + 1;
                        }
                    }
                }
                if (index == i && linkNum == 0)
                {
                    linkNum = 1;
                }
                lk.value = linkNum;
                linkvaluelist.Add(lk);
                //  }
            }
            SaveBaiduResult(linkvaluelist);
            return(linkvaluelist);
        }
Esempio n. 3
0
        public void Run()
        {
            while (true)
            {
                BotTaskService       bt      = new BotTaskService();
                Random               r       = new Random();
                IW2S_SG_BaiduCommend keyTask = bt.GetBotTask();  //get_task();
                if (keyTask == null || keyTask.CommendKeyword == "" || keyTask.CommendKeyword == null)
                {
                    SetReady();
                    log("没有搜索任务 !!!");
                    Thread.Sleep(3000);
                    continue;
                }
                SetBusy();
                var update = new UpdateDocument {
                    { "$set", new QueryDocument {
                          { "WXStatus", 1 }, { "BotStatus", 1 }
                      } }
                };

                var result = MongoDBHelper.Instance.Get_IW2S_SG_BaiduCommend().UpdateOne(new QueryDocument {
                    { "_id", keyTask._id }
                }, update);

                Snapshot(keyTask);
                try
                {
                    update = new UpdateDocument {
                        { "$set", new QueryDocument {
                              { "WXStatus", 2 }, { "BotStatus", 2 }
                          } }
                    };

                    result = MongoDBHelper.Instance.Get_IW2S_SG_BaiduCommend().UpdateOne(new QueryDocument {
                        { "_id", keyTask._id }
                    }, update);
                }
                catch (Exception ex)
                {
                    log(DateTime.Now + "ERROR ." + ex.Message);
                    Thread.Sleep(2000);
                }
            }
        }
        public static void SetUpdate()
        {
            string         connStr = AISSystem.AppSettingHelper.GetAppSetting("conStr");
            BotTaskService bt      = new BotTaskService();
            //var WLList = bt.GetWhiteList(connStr);
            //var BLList = bt.GetBlackList(connStr);

            string    sql = @"select Id, [NovelName],[AuthorName],[LinkUrl],[Domain],[TopDomain],[LinkTitle],[LinkAbstract],[Keyword] from [dbo].[ResultLiks] 
                        where NovelId in('11','12') and States =0";
            DataTable dt  = DBHelper.Query(connStr, sql);

            foreach (DataRow item in dt.Rows)
            {
                int    States    = 0;
                int    blackid   = 0;
                string topDomain = item["TopDomain"].ToString();
                int    nid       = Convert.ToInt32(item["Id"]);
                //foreach (var itemBL in BLList)
                //{
                //    if (itemBL.Domain.Trim().ToLower().Equals(topDomain.Trim().ToLower()))
                //    {
                //        States = 2;
                //        blackid = itemBL.Id;
                //    }
                //}
                //foreach (var itemWL in WLList)
                //{
                //    if (itemWL.AuthorizedUrl1.Contains(topDomain))
                //    {

                //        States = 1;
                //    }
                //}
                string updatesql = "update ResultLiks set BlackId={0} ,[States]={1} where Id={2} ".FormatStr(blackid, States, nid);
                var    count     = DBHelper.RunScript(connStr, updatesql);
                Console.WriteLine("成功修改一条!");
            }

            Console.WriteLine("全部完成");
        }
Esempio n. 5
0
        public void Run()
        {
            while (true)
            {
                BotTaskService bt = new BotTaskService();
                Random         r  = new Random();
                Thread.Sleep(2000);
                FreeTask keyTask = bt.GetBotTask(BotTypes.ItemSnapshot);  //get_task();
                if (keyTask == null || keyTask.TaskName == "" || keyTask.TaskName == null)
                {
                    SetReady();
                    log("No search task !");
                    Thread.Sleep(1000);
                    var sssH = DateTime.Now.Hour;
                    if (sssH == 5)
                    {
                        var miuH = DateTime.Now.Minute;
                        if (miuH < 3)
                        {
                            var queryTask = new QueryDocument {
                                { "BotIntervalHours", 24 }, { "IsStarted", true }
                            };
                            var colH    = MongoDBHelper.Instance.Get_FreeTask();
                            var resultH = colH.Find(queryTask).SortByDescending(x => x.CreatedAt).ToList();
                            foreach (var item in resultH)
                            {
                                var update1 = new UpdateDocument {
                                    { "$set", new QueryDocument {
                                          { "IsBot", false }
                                      } }
                                };
                                var Hresult = MongoDBHelper.Instance.Get_FreeTask().UpdateOne(new QueryDocument {
                                    { "_id", item._id }
                                }, update1);
                            }
                        }
                    }
                    var Zhou = DateTime.Now.DayOfWeek.ToString();
                    if (Zhou == "Sunday")
                    {
                        var Zsss = DateTime.Now.Hour;
                        if (Zsss == 5)
                        {
                            var miuZ = DateTime.Now.Minute;
                            if (miuZ < 3)
                            {
                                var queryTask = new QueryDocument {
                                    { "BotIntervalHours", 168 }, { "IsStarted", true }
                                };
                                var colZ    = MongoDBHelper.Instance.Get_FreeTask();
                                var resultZ = colZ.Find(queryTask).SortByDescending(x => x.CreatedAt).ToList();
                                foreach (var item in resultZ)
                                {
                                    var update2 = new UpdateDocument {
                                        { "$set", new QueryDocument {
                                              { "IsBot", false }
                                          } }
                                    };
                                    var Zresult = MongoDBHelper.Instance.Get_FreeTask().UpdateOne(new QueryDocument {
                                        { "_id", item._id }
                                    }, update2);
                                }
                            }
                        }
                    }
                    var Tian = DateTime.Now.Day;
                    if (Tian == 30)
                    {
                        var Tsss = DateTime.Now.Hour;
                        if (Tsss == 5)
                        {
                            var miuT = DateTime.Now.Minute;
                            if (miuT < 3)
                            {
                                var queryTask = new QueryDocument {
                                    { "BotIntervalHours", 720 }, { "IsStarted", true }
                                };
                                var colT    = MongoDBHelper.Instance.Get_FreeTask();
                                var resultT = colT.Find(queryTask).SortByDescending(x => x.CreatedAt).ToList();
                                foreach (var item in resultT)
                                {
                                    var update3 = new UpdateDocument {
                                        { "$set", new QueryDocument {
                                              { "IsBot", false }
                                          } }
                                    };
                                    var Tresult = MongoDBHelper.Instance.Get_FreeTask().UpdateOne(new QueryDocument {
                                        { "_id", item._id }
                                    }, update3);
                                }
                            }
                        }
                    }
                    DateTime start = Convert.ToDateTime(DateTime.Now.AddDays(0).AddHours(8).ToShortDateString());
                    DateTime end   = Convert.ToDateTime(DateTime.Now.AddDays(1).AddHours(8));
                    continue;
                }

                SetBusy();
                //string sql = @"update taskparameters set LastBotStartAt ='{0}',IsBot=1 where Id={1}".FormatStr(DateTime.Now, keyTask.Id);
                //MySqlDbHelper.ExecuteSql(com, sql);
                int?LinksNum = 0;
                LinksNum = keyTask.recordNum + 1;
                var update = new UpdateDocument {
                    { "$set", new QueryDocument {
                          { "IsBot", true }, { "LastBotStartAt", DateTime.Now.AddHours(8) },
                          { "recordNum", LinksNum }
                      } }
                };
                //   var result = MongoDBHelper<FreeTask>.Update("FreeTask", new QueryDocument { { "_id", keyTask._id } }, update);
                var result = MongoDBHelper.Instance.Get_FreeTask().UpdateOne(new QueryDocument {
                    { "_id", keyTask._id }
                }, update);
                List <FreeTaskRecord> list = new List <FreeTaskRecord>();
                FreeTaskRecord        ftr  = new FreeTaskRecord();
                ftr._id            = new ObjectId();
                ftr.IsStarted      = keyTask.IsStarted;
                ftr.IsBot          = true;
                ftr.Taskid         = keyTask._id;
                ftr.TaskName       = keyTask.TaskName;
                ftr.UsrId          = keyTask.UsrId;
                ftr.ServiceState   = "Normal";
                ftr.CreatedAt      = DateTime.Now.AddHours(8);
                ftr.LastBotStartAt = DateTime.Now.AddHours(8);
                // ftr.LastBotEndAt = DateTime.Now.AddHours(8);
                ftr.Dataquantity = 0;
                ftr.LinksNum     = 0;
                ftr.ShopsNum     = 0;
                ftr.SiteId       = Guid.Parse("A00A672B-DD05-65FB-4EE0-CFA26EBF2ED5");
                ftr.SiteName     = "taobao";
                ftr.LanIP        = "";//TaobaoWebHelper.GetLanIP();
                ftr.UId          = keyTask.UId;
                ftr.ProjectId    = keyTask.ProjectId;
                //  var savedq = MongoDBHelper<FreeTaskRecord>.InsertData(ftr, "FreeTaskRecord");
                list.Add(ftr);
                var col = MongoDBHelper.Instance.Get_FreeTaskRecord();
                col.InsertMany(list);
                string recordId = ftr._id.ToString();
                Snapshot(keyTask, com, recordId);
                try
                {
                    // update = new UpdateDocument { { "$set", new QueryDocument { { "LastBotEndAt", DateTime.Now.AddHours(8) } } } };
                    // result = MongoDBHelper<FreeTask>.Update("FreeTask", new QueryDocument { { "_id", keyTask._id } }, update);
                    update = new UpdateDocument {
                        { "$set", new QueryDocument {
                              { "LastBotEndAt", DateTime.Now.AddHours(8) }
                          } }
                    };
                    result = MongoDBHelper.Instance.Get_FreeTask().UpdateOne(new QueryDocument {
                        { "_id", keyTask._id }
                    }, update);

                    update = new UpdateDocument {
                        { "$set", new QueryDocument {
                              { "LastBotEndAt", DateTime.Now.AddHours(8) }
                          } }
                    };
                    // result = MongoDBHelper<FreeTaskRecord>.Update("FreeTaskRecord", new QueryDocument { { "_id", new ObjectId(recordId)} }, update);
                    result = MongoDBHelper.Instance.Get_FreeTaskRecord().UpdateOne(new QueryDocument {
                        { "_id", new ObjectId(recordId) }
                    }, update);
                }
                catch (Exception ex)
                {
                    log("get_proj_to_qry ERROR ." + ex.Message);
                    Thread.Sleep(5000);
                }



                //}
            }
        }
Esempio n. 6
0
        public void Run()
        {
            while (true)
            {
                #region 百度
                //百度
                BotTaskService     bt      = new BotTaskService();
                Dnl_KeywordMapping keyTask = bt.GetBaiduBotTask();  //get_task();
                //if (keyTask == null || keyTask.Keyword == "" || keyTask.Keyword == null)
                //{
                //    log("无计算目标,休眠一天!");
                //    Thread.Sleep(24 * 60 * 60 * 1000);
                //    //WX_Data wscData = bt.GetWxData();
                //    //if (wscData == null)
                //    //{
                //    //}
                //    continue;
                //}
                //更新项目内所有该关键词的计算状态
                if (keyTask != null)
                {
                    var update = new UpdateDocument {
                        { "$set", new QueryDocument {
                              { "JisuanStatus", 1 }
                          } }
                    };
                    var builderMap = Builders <Dnl_KeywordMapping> .Filter;
                    var filterMap  = builderMap.Eq(x => x.ProjectId, keyTask.ProjectId) & builderMap.Eq(x => x.KeywordId, keyTask.KeywordId);
                    var result     = MongoDBHelper.Instance.GetDnl_KeywordMapping().UpdateMany(filterMap, update);
                    List <Dnl_KeywordMapping> listKey = bt.GetBaiduBotTaskList(keyTask.ProjectId);
                    BaiduSnapshot(keyTask, listKey);
                    try
                    {
                        update = new UpdateDocument {
                            { "$set", new QueryDocument {
                                  { "JisuanStatus", 2 }
                              } }
                        };
                        result = MongoDBHelper.Instance.GetDnl_KeywordMapping().UpdateMany(filterMap, update);
                    }
                    catch (Exception ex)
                    {
                        log(DateTime.Now + "错误:" + ex.Message);
                        Thread.Sleep(2000);
                    }
                }
                #endregion

                #region 微信
                MediaKeywordMappingMongo WXKeyTask = bt.GetMediaBotTask();  //get_task();
                if (WXKeyTask == null || WXKeyTask.Keyword == "" || WXKeyTask.Keyword == null)
                {
                    log("无计算目标,休眠一天!");
                    Thread.Sleep(24 * 60 * 60 * 1000);
                    //WX_Data wscData = bt.GetWxData();
                    //if (wscData == null)
                    //{
                    //}
                    continue;
                }
                //更新项目内所有该关键词的计算状态
                var WXupdate = new UpdateDocument {
                    { "$set", new QueryDocument {
                          { "JisuanStatus", 1 }
                      } }
                };
                var builderMediaMap = Builders <MediaKeywordMappingMongo> .Filter;
                var filterMediaMap  = builderMediaMap.Eq(x => x.ProjectId, WXKeyTask.ProjectId) & builderMediaMap.Eq(x => x.KeywordId, WXKeyTask.KeywordId);
                MongoDBHelper.Instance.GetMediaKeywordMapping().UpdateMany(filterMediaMap, WXupdate);
                List <MediaKeywordMappingMongo> listMediaKey = bt.GetWeiXinBotTaskList(WXKeyTask.ProjectId);
                WeiXinSnapshot(WXKeyTask, listMediaKey);
                try
                {
                    WXupdate = new UpdateDocument {
                        { "$set", new QueryDocument {
                              { "JisuanStatus", 2 }
                          } }
                    };
                    MongoDBHelper.Instance.GetMediaKeywordMapping().UpdateMany(filterMediaMap, WXupdate);
                }
                catch (Exception ex)
                {
                    log(DateTime.Now + "错误:" + ex.Message);
                    Thread.Sleep(2000);
                }
                #endregion
            }
        }