protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            if (!stoppingToken.IsCancellationRequested)
            {
                while (true)
                {
                    var data = _realEstateBusiness.Gettop100DrawingData();
                    if (data != null && data.Any())
                    {
                        var scrapingengine = new ScrapingEngine();
                        var configs        = scrapingengine.GetScrapingConfigByFile("ScrapingCustomerWorkerr_Config.json");
                        var config         = configs.First();
                        var dependData     = data.Select(x => x.Data).ToList();
                        config.SetDepentData(dependData);
                        var scrapingresult = new Dictionary <string, List <Dictionary <string, string> > >();
                        scrapingengine.RunScraping(scrapingresult, config);

                        if (scrapingresult != null && scrapingresult.Any())
                        {
                            var result             = scrapingengine.ConvertCustomerData(scrapingresult);
                            var insertResult       = _customerScrapingBusiness.StoreCustomerData(result);
                            var updatestatusResult = _realEstateBusiness.UpdateDrawingStatus(data.Select(x => x.Id).ToList());
                        }
                    }
                    else
                    {
                        break;
                    }
                }
            }
        }
示例#2
0
        static void Main(string[] args)
        {
            ScrapingEngine engine = new ScrapingEngine();

            // Initialize scraper strategy
            IStrategy pureStrategy = new StrategyPureCoUk("https://www.pure.co.uk/menus/breakfast");

            // Execute scraper strategy
            var result = engine.ExecuteStrategy(pureStrategy);

            foreach (ProductSimple product in result)
            {
                Console.WriteLine($"{product.DishName}");
            }

            Console.ReadLine();
        }
 protected override async Task ExecuteAsync(CancellationToken stoppingToken)
 {
     if (!stoppingToken.IsCancellationRequested)
     {
         _logger.LogInformation("Start Scraping ..................");
         ScrapingEngine scrapingEngine = new ScrapingEngine();
         var            data           = new Dictionary <string, List <Dictionary <string, string> > >();
         var            configs        = scrapingEngine.GetScrapingConfigByFile("DrawingDataWorker_Config.json");
         foreach (var config in configs)
         {
             scrapingEngine.RunScraping(data, config);
             if (data != null && data.Any())
             {
                 var result = scrapingEngine.ConvertData(data);
                 StorageData(result.ToList());
             }
         }
         _logger.LogInformation("Scraping Stopped........................");
     }
 }
 public ScraperController(ILogger <ScraperController> logger)
 {
     _logger = logger;
     _engine = new ScrapingEngine();
 }