public Sneaker ParseOneSneaker(Sneaker @sneaker) { var document = GetHtmlPage(sneaker.link); _logger.Info("parsing... link:" + sneaker.link); //sku sneaker.sku = document.QuerySelector("span.editable").InnerHtml; _logger.Info("sneaker.sku = " + sneaker.sku); if (string.IsNullOrWhiteSpace(sneaker.sku.Trim())) { _logger.Warn("sku is empty"); return(null); } //color //var colorHTML = document.All.Where(m => m.LocalName == "span" && m.Id == "product-color").First().InnerHtml; //sneaker.color = colorHTML; //title //добавляем цвет к тайтлу var title = document.QuerySelector("div.page_title").InnerHtml.ToUpper().Trim(); sneaker.title = title.Replace(" - ", " "); _logger.Info("sneaker.title = " + sneaker.title); if (string.IsNullOrWhiteSpace(sneaker.title.Trim())) { _logger.Warn("title is empty"); return(null); } //images //var imageContainer = document.All.Where(m => m.LocalName == "div" && m.Id == "thumbnail-wrapper").First(); var images = document.QuerySelector("#thumbs_list_frame").QuerySelectorAll("li"); _logger.Info("images count = " + images.Length); //List<String> listImage = new List<String>(); foreach (var image in images) { var imageString = image.QuerySelector("a").GetAttribute("href"); //string imageString = SITEURL + imageHTML.GetAttribute("data-large-image"); if (imageString.Contains(".jpg")) { sneaker.images.Add(imageString); _logger.Info("imageString = " + imageString); } else { _logger.Warn("wrong image " + sneaker.sku); } } if (sneaker.images.Count == 0) { _logger.Warn("no images " + sneaker.sku); } //sizes var sizes = document.QuerySelectorAll("select.attribute_select option"); _logger.Info("sizes.count = " + sizes.Length); for (int i = 0; i < sizes.Count(); i++) { var sep = new char[] { '-' }; var sizeUsEu = sizes[i].InnerHtml.Split(sep); var sizeUS = sizeUsEu[0].Replace("US", "").Trim(); var sizeEU = sizeUsEu[1].Trim(); _logger.Info("size: " + sizeUS + " US " + sizeEU + " EU"); //string sizeUS = sizes[i].InnerHtml.Trim(); SneakerSize size = new SneakerSize(sizeUS); size.sizeEU = sizeEU; size.quantity = 1; sneaker.sizes.Add(size); } //sizes //chech wait release var wait = document.QuerySelector("#axproductlaunch"); if (wait != null) { var price = document.QuerySelector("#our_price_display").InnerHtml.Trim(); var br = "\n"; var m = sneaker.title + br; m += "date: " + wait.InnerHtml.Replace("\n", "").Trim() + br; m += "price: " + price + br; m += "<a href=\"" + sneaker.images[0] + "\">image</a>" + br; m += "<a href=\"" + sneaker.link + "\">" + NAME + "</a>" + br; _logger.Info("This item is wait release"); MyTelegram.PostMessageWaitRelease(m); return(null); } //categorySneakerFullCatalog and sex if (sneaker.sizes.Count > 0) { return(sneaker); } else { _logger.Info("sizes count = 0"); return(null); } }