private static void FindImages() { Console.WriteLine("Find Images"); var di = new DirectoryInfo(homeFolder); if (!di.Exists) di.Create(); GoogleImages googleImages = null; YandexImages yandexImages = null; var nextProduct = d.GetProductWithOutImage().FirstOrDefault(); while (nextProduct != null) { var currentProduct = d.Products.Where(t => t.SiteProductId == nextProduct.SiteProductId).FirstOrDefault(); if (currentProduct == null) continue; if (googleImages == null) { googleImages = new GoogleImages(15000, homeFolder); } if (yandexImages == null) { yandexImages = new YandexImages(15000, homeFolder); } var potentialImages = new List<WebResponse>(); var result = googleImages.FindNewImages(currentProduct); if (!result) { result = yandexImages.FindNewImages(currentProduct); if (!result) { potentialImages.AddRange(googleImages.potentialImages); potentialImages.AddRange(yandexImages.potentialImages); foreach (var potentialImage in potentialImages.OrderByDescending(t => t.ContentLength).ToList()) { result = GetImage(potentialImage); if (result) { imageHost = potentialImage.ResponseUri.Host; imageHost = potentialImage.ResponseUri.AbsoluteUri.Replace("www.", ""); break; } } if (result) SaveImage(currentProduct); else { currentProduct.ImageId = -2; d.SubmitChanges(); } } else { imageHost = yandexImages.imageHost; SaveImage(currentProduct); } } else { imageHost = googleImages.imageHost; SaveImage(currentProduct); } nextProduct = d.GetProductWithOutImage().FirstOrDefault(); Thread.Sleep(8000); } }
private static void FindImages() { Console.WriteLine("Find Images"); var di = new DirectoryInfo(homeFolder); if (!di.Exists) { di.Create(); } GoogleImages googleImages = null; YandexImages yandexImages = null; var nextProduct = d.GetProductWithOutImage().FirstOrDefault(); while (nextProduct != null) { var currentProduct = d.Products.Where(t => t.SiteProductId == nextProduct.SiteProductId).FirstOrDefault(); if (currentProduct == null) { continue; } if (googleImages == null) { googleImages = new GoogleImages(15000, homeFolder); } if (yandexImages == null) { yandexImages = new YandexImages(15000, homeFolder); } var potentialImages = new List <WebResponse>(); var result = googleImages.FindNewImages(currentProduct); if (!result) { result = yandexImages.FindNewImages(currentProduct); if (!result) { potentialImages.AddRange(googleImages.potentialImages); potentialImages.AddRange(yandexImages.potentialImages); foreach (var potentialImage in potentialImages.OrderByDescending(t => t.ContentLength).ToList()) { result = GetImage(potentialImage); if (result) { imageHost = potentialImage.ResponseUri.Host; imageHost = potentialImage.ResponseUri.AbsoluteUri.Replace("www.", ""); break; } } if (result) { SaveImage(currentProduct); } else { currentProduct.ImageId = -2; d.SubmitChanges(); } } else { imageHost = yandexImages.imageHost; SaveImage(currentProduct); } } else { imageHost = googleImages.imageHost; SaveImage(currentProduct); } nextProduct = d.GetProductWithOutImage().FirstOrDefault(); Thread.Sleep(8000); } }