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(); } }
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 })); }
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(); } }
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; }
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(); } }
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)/城市名称(如:厦门)是否正确..." })); } }