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; } } } }
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(); }