Exemple #1
0
        public ActionResult CollectNewIe()
        {
            using (var crawler = new Funda.Crawler())
            {
                using (var db = new Funda.WebAnalyzerEntities())
                {
                    foreach (var search in DaftieSearchList())
                    {
                        // SetMinMax(search);
                        for (int i = 0; i < 30; i++)
                        {
                            try
                            {
                                search.PaginationNumber = i;
                                crawler.Navigate(search);
                                var adverts = Enumerable.Empty <IRecord>();
                                if (search.IsSale)
                                {
                                    adverts = crawler.AddDaft(true).Where(o => o.Price != null).ExceptWhere(db.Sale, o => o.Url);

                                    db.Sale.AddRange(adverts.Cast <Sale>().ToList());
                                }
                                else
                                {
                                    adverts = crawler.AddDaft(false).Where(o => o.Price != null).ExceptWhere(db.Rent, o => o.Url);
                                    db.Rent.AddRange(adverts.Cast <Rent>().ToList());
                                }

                                foreach (var advert in adverts)
                                {
                                    advert.Title = search.Text.Split('-')[0];
                                }

                                if (!adverts.Any())
                                {
                                    break;
                                }

                                db.SaveChanges();
                            }
                            catch
                            {
                            }
                        }
                    }
                }
            }
            return(RedirectToAction("UpdateDaft"));
        }
Exemple #2
0
        public ActionResult CollectNewMestoUe()
        {
            using (var crawler = new Funda.Crawler())
            {
                using (var db = new Funda.WebAnalyzerEntities())
                {
                    foreach (var search in MestoUaSearchList())
                    {
                        // SetMinMax(search);
                        for (int i = 1; i < 15; i++)
                        {
                            try
                            {
                                search.PaginationNumber = i;
                                crawler.Navigate(search);
                                var adverts = Enumerable.Empty <IRecord>();
                                if (search.IsSale)
                                {
                                    adverts = crawler.AddNewMestoUeSales((Crawler.MestoUaSearch)search).Where(o => o.Price != null).ExceptWhere(db.Sale, o => o.Url);
                                    db.Sale.AddRange(adverts.Cast <Sale>().ToList());
                                }
                                else
                                {
                                    adverts = crawler.AddNewLtRents().Where(o => o.Price != null).ExceptWhere(db.Rent, o => o.Url);
                                    db.Rent.AddRange(adverts.Cast <Rent>().ToList());
                                }

                                if (!adverts.Any())
                                {
                                    break;
                                }

                                db.SaveChanges();
                            }
                            catch
                            {
                            }
                        }
                    }
                }
            }

            return(RedirectToAction("UpdateExistingLt"));
        }
Exemple #3
0
        public ActionResult CollectNewEs()
        {
            using (var crawler = new Funda.Crawler())
            {
                using (var db = new Funda.WebAnalyzerEntities())
                {
                    foreach (var search in FotoCasaSearchList())
                    {
                        // SetMinMax(search);
                        for (int i = 1; i < 15; i++)
                        {
                            try
                            {
                                search.PaginationNumber = i;
                                crawler.Navigate(search);
                                var adverts = Enumerable.Empty <IRecord>();
                                if (search.IsSale)
                                {
                                    adverts = crawler.AddFotoCasaSales().Where(o => o.Price != null).ExceptWhere(db.Sale, o => o.Url);
                                    db.Sale.AddRange(adverts.Cast <Sale>().ToList());
                                }
                                else
                                {
                                    adverts = crawler.AddFotoCasaRents().Where(o => o.Price != null).ExceptWhere(db.Rent, o => o.Url);
                                    db.Rent.AddRange(adverts.Cast <Rent>().ToList());
                                }

                                if (!adverts.Any())
                                {
                                    break;
                                }

                                db.SaveChanges();
                            }
                            catch
                            {
                            }
                        }
                    }
                    //foreach (var search in PisosSearchList())
                    //{

                    //    for (int i = 1; i < 3; i++)
                    //    {
                    //        try
                    //        {
                    //            search.PaginationNumber = i;
                    //            crawler.Navigate(search);

                    //            var adverts = Enumerable.Empty<IRecord>();
                    //            if (search.IsSale)
                    //            {
                    //                adverts = crawler.AddPisosSales().Where(o => o.Price != null).ExceptWhere(db.Sale, o => o.Url);
                    //                db.Sale.AddRange(adverts.Cast<Sale>().ToList());
                    //            }
                    //            else
                    //            {
                    //                adverts = crawler.AddPisosRents().Where(o => o.Price != null).ExceptWhere(db.Rent, o => o.Url);

                    //                db.Rent.AddRange(adverts.Cast<Rent>().ToList());
                    //            }

                    //            if (!adverts.Any())
                    //            {
                    //                break;
                    //            }

                    //            db.SaveChanges();
                    //        }
                    //        catch
                    //        {
                    //        }
                    //    }
                    //}
                }
            }

            return(RedirectToAction("UpdateFotoCasa"));
        }