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