private async Task <IEnumerable <ProductResponse> > GetProductListings(IEnumerable <ProductRequest> requests) { var helper = new ScrapperHelper(); var listings = await helper.GetProductList(requests); return(listings); }
public IActionResult GetDataByCategory(string categoryName) { List <DataViewModel> dataList = new List <DataViewModel>(); var mainObj = HttpContext.Session.GetSession().MainObjects; var listChildItems = mainObj.Where(x => x.CategoryName.ToLower() == categoryName.ToLower()).FirstOrDefault(); var categoryModel = new Categories(); categoryModel.CategoryName = listChildItems.CategoryName; try { foreach (var child in listChildItems.Child) { var model = new DataViewModel(); HtmlWeb web = new HtmlWeb(); HtmlDocument document = web.Load(child.ChildUrl); //try for image var itemsModel = new Items(); try { foreach (HtmlNode link in document.DocumentNode.SelectNodes("//img")) { var src = link.GetAttributeValue("src", ""); if (src.Contains("e_strukture")) { string completesource = AppSettings.Domain + src; itemsModel.ItemImage = completesource; } } } catch (Exception e) { } //try for rest of the data try { foreach (HtmlNode data in document.DocumentNode.SelectNodes("//*[@size]")) { if (data.GetAttributeValue("size", "3") == "3") { var fontcolor = data.GetAttributeValue("color", ""); var findColor = ScrapperHelper.FindColor(fontcolor); var cleanInnerText = ScrapperHelper.CleanInnerText(data.InnerText); var split = cleanInnerText.Split(" ", 2); var itemcode = split[0]; var itename = split[1]; itemsModel.ItemCode = itemcode; itemsModel.ItemName = itename; itemsModel.ItemColor = findColor; } if (data.GetAttributeValue("size", "2") == "2") { var cleanDescription = ScrapperHelper.CleanInnerText(data.InnerText); itemsModel.ItemDesc = itemsModel.ItemDesc + cleanDescription; } } } catch (Exception e) { } model.Category = categoryModel; model.Items = itemsModel; SaveData(model); dataList.Add(model); //Lets save the data } return(Json(new { status = 200 })); } catch (Exception e) { return(Json(new { status = 200 })); } }
private async void LoadProducts() { var helper = new ScrapperHelper(); var keywords = new[] { "ps4", "ps3" }; //var products = await helper.GetProductList(keywords); }