Esempio n. 1
0
        public static void RefreshHouseSourceInfo()
        {
            var lstCityHouse = new DBHouseSourceInfoDAL().GetHouseSourceInfoList();
            var config       = DataContent.CrawlerConfigurations.FirstOrDefault(c => c.ConfigurationName == ConstConfigurationName.CityHouseInfo);

            if (config == null)
            {
                config = new BizCrawlerConfiguration
                {
                    ConfigurationKey   = 0,
                    ConfigurationName  = ConstConfigurationName.CityHouseInfo,
                    ConfigurationValue = Newtonsoft.Json.JsonConvert.SerializeObject(lstCityHouse),
                    IsEnabled          = true
                };
                DataContent.Add(config);
                DataContent.SaveChanges();
            }
            else
            {
                config.ConfigurationKey   = 0;
                config.ConfigurationName  = ConstConfigurationName.CityHouseInfo;
                config.ConfigurationValue = Newtonsoft.Json.JsonConvert.SerializeObject(lstCityHouse);
                config.IsEnabled          = true;
                DataContent.SaveChanges();
            }
        }
Esempio n. 2
0
        public IActionResult AddDouBanGroup(string doubanGroup, string cityName)
        {
            if (string.IsNullOrEmpty(doubanGroup) || string.IsNullOrEmpty(cityName))
            {
                return(Json(new { IsSuccess = false, error = "请输入豆瓣小组Group和城市名称。" }));
            }
            var cityInfo     = $"{{ 'groupid':'{doubanGroup}','cityname':'{cityName}','pagecount':5}}";
            var doubanConfig = dataContent.CrawlerConfigurations
                               .FirstOrDefault(c => c.ConfigurationName == ConstConfigurationName.Douban && c.ConfigurationValue == cityInfo);

            if (doubanConfig != null)
            {
                return(Json(new { IsSuccess = true }));
            }
            var config = new BizCrawlerConfiguration()
            {
                ConfigurationKey   = 0,
                ConfigurationValue = cityInfo,
                ConfigurationName  = ConstConfigurationName.Douban,
                DataCreateTime     = DateTime.Now,
                IsEnabled          = true,
            };

            dataContent.Add(config);
            dataContent.SaveChanges();
            return(Json(new { IsSuccess = true }));
        }
Esempio n. 3
0
        public static void RefreshDashboard()
        {
            var cityDashboards = CrawlerDataDapper.GetHouseDashboard();

            if (cityDashboards == null || cityDashboards.Count() == 0)
            {
                return;
            }
            var config = DataContent.CrawlerConfigurations.FirstOrDefault(c => c.ConfigurationName == ConstConfigurationName.CityHouseInfo);

            if (config == null)
            {
                config = new BizCrawlerConfiguration
                {
                    ConfigurationKey   = 0,
                    ConfigurationName  = ConstConfigurationName.CityHouseInfo,
                    ConfigurationValue = Newtonsoft.Json.JsonConvert.SerializeObject(cityDashboards),
                    IsEnabled          = true
                };
                DataContent.Add(config);
                DataContent.SaveChanges();
            }
            else
            {
                config.ConfigurationKey   = 0;
                config.ConfigurationName  = ConstConfigurationName.CityHouseInfo;
                config.ConfigurationValue = Newtonsoft.Json.JsonConvert.SerializeObject(cityDashboards);
                config.IsEnabled          = true;
                DataContent.SaveChanges();
            }
        }
Esempio n. 4
0
 public static List<HouseSourceInfo> LoadCityHouseInfo()
 {
     var lstCityHouseInfo = new List<HouseSourceInfo>();
     BizCrawlerConfiguration config = dataContent.CrawlerConfigurations.FirstOrDefault(c => c.ConfigurationName == ConstConfigurationName.CityHouseInfo);
     if (config != null)
     {
         lstCityHouseInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HouseSourceInfo>>(config.ConfigurationValue);
     }
     return lstCityHouseInfo;
 }
Esempio n. 5
0
        public static void RefreshHouseSourceInfo()
        {
            List <HouseSourceInfo> lstCityHouse = new List <HouseSourceInfo>();

            foreach (var cityHouseGroup in dataContent.HouseInfos.GroupBy(h => h.LocationCityName))
            {
                foreach (var sourceGroupHouses in cityHouseGroup.GroupBy(h => h.Source))
                {
                    var cityHouseInfo = new HouseSourceInfo();
                    cityHouseInfo.CityName   = sourceGroupHouses.First().LocationCityName;
                    cityHouseInfo.HouseSum   = sourceGroupHouses.Count();
                    cityHouseInfo.Source     = sourceGroupHouses.First().Source;
                    cityHouseInfo.UpdateTime = DateTime.Now;
                    lstCityHouse.Add(cityHouseInfo);
                }
            }

            BizCrawlerConfiguration config = dataContent.CrawlerConfigurations.FirstOrDefault(c => c.ConfigurationName == ConstConfigurationName.CityHouseInfo);

            if (config == null)
            {
                config = new BizCrawlerConfiguration();
                config.ConfigurationKey   = 0;
                config.ConfigurationName  = ConstConfigurationName.CityHouseInfo;
                config.ConfigurationValue = Newtonsoft.Json.JsonConvert.SerializeObject(lstCityHouse);
                config.IsEnabled          = true;
                dataContent.Add(config);
                dataContent.SaveChanges();
            }
            else
            {
                config.ConfigurationKey   = 0;
                config.ConfigurationName  = ConstConfigurationName.CityHouseInfo;
                config.ConfigurationValue = Newtonsoft.Json.JsonConvert.SerializeObject(lstCityHouse);
                config.IsEnabled          = true;
                dataContent.SaveChanges();
            }
        }
Esempio n. 6
0
        public IActionResult AddDouBanGroup(string doubanGroup, string cityName)
        {
            if (string.IsNullOrEmpty(doubanGroup) || string.IsNullOrEmpty(cityName))
            {
                return(Json(new { IsSuccess = false, error = "请输入豆瓣小组Group和城市名称。" }));
            }
            var topics = DoubanHouseCrawler.GetHouseData(doubanGroup, cityName, 1);

            if (topics != null && topics.Count() > 0)
            {
                var cityInfo     = $"{{ 'groupid':'{doubanGroup}','cityname':'{cityName}','pagecount':5}}";
                var doubanConfig = new BizCrawlerConfiguration(); //(c => c.ConfigurationName == ConstConfigurationName.Douban && c.ConfigurationValue == cityInfo);
                if (doubanConfig != null)
                {
                    return(Json(new { IsSuccess = true }));
                }
                var config = new BizCrawlerConfiguration()
                {
                    ConfigurationKey   = 0,
                    ConfigurationValue = cityInfo,
                    ConfigurationName  = ConstConfigurationName.Douban,
                    DataCreateTime     = DateTime.Now,
                    IsEnabled          = true,
                };
                configurationDapper.Insert(config);
                return(Json(new { IsSuccess = true }));
            }
            else
            {
                return(Json(new
                {
                    IsSuccess = false,
                    error = "保存失败!请检查豆瓣小组ID(如:XMhouse)/城市名称(如:厦门)是否正确..."
                }));
            }
        }