示例#1
0
 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);
     }
 }
示例#2
0
        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);
        }