private static void GetDataOnPageDoc(dynamic confInfo, AngleSharp.Dom.Html.IHtmlDocument page) { foreach (var element in page.QuerySelectorAll("li").Where(element => element.HasAttribute("logr"))) { var houseTitle = element.QuerySelector("h2").TextContent; var houseInfoList = houseTitle.Split(' '); int.TryParse(element.QuerySelector("b").TextContent, out var housePrice); var onlineUrl = $"http://{confInfo.shortcutname.Value}.58.com" + element.QuerySelector("a").GetAttribute("href"); if (DataContent.ApartmentHouseInfos.Find(onlineUrl) != null) { continue; } var houseInfo = new ApartmentHouseInfo { HouseTitle = houseTitle, HouseOnlineURL = onlineUrl, DisPlayPrice = element.QuerySelector("b").TextContent, HouseLocation = new[] { "公寓", "青年社区" }.All(s => houseInfoList.Contains(s)) ? houseInfoList[0] : houseInfoList[1], DataCreateTime = DateTime.Now, Source = ConstConfigurationName.PinPaiGongYu, HousePrice = housePrice, HouseText = houseTitle, LocationCityName = confInfo.cityname.Value, PubTime = DateTime.Now }; DataContent.ApartmentHouseInfos.Add(houseInfo); } }
private static List <ApartmentHouseInfo> GetDataFromHMTL(string shortCutName, string cityName, string houseHTML) { List <ApartmentHouseInfo> houseList = new List <ApartmentHouseInfo>(); if (string.IsNullOrEmpty(houseHTML)) { return(houseList); } var htmlDoc = htmlParser.Parse(houseHTML); var logrList = htmlDoc.QuerySelectorAll("li").Where(element => element.HasAttribute("logr")); if (!logrList.Any()) { return(houseList); } foreach (var element in logrList) { var houseTitle = element.QuerySelector("h2").TextContent; var houseInfoList = houseTitle.Split(' '); int.TryParse(element.QuerySelector("b").TextContent, out var housePrice); var onlineUrl = $"http://{shortCutName}.58.com" + element.QuerySelector("a").GetAttribute("href"); var houseInfo = new ApartmentHouseInfo { HouseTitle = houseTitle, HouseOnlineURL = onlineUrl, DisPlayPrice = element.QuerySelector("b").TextContent, HouseLocation = new[] { "公寓", "青年社区" }.All(s => houseInfoList.Contains(s)) ? houseInfoList[0] : houseInfoList[1], DataCreateTime = DateTime.Now, HousePrice = housePrice, HouseText = houseTitle, LocationCityName = cityName, PubTime = DateTime.Now }; houseList.Add(houseInfo); } return(houseList); }