/// <summary> /// Analyzes website and creates XML document /// </summary> /// <param name="config">Website's config</param> /// <returns> /// Updated website's config /// </returns> public WebsiteModel AnalyzeWebsite(WebsiteModel config) { CrawlerHelper crawlHelper = new CrawlerHelper(); OrganizerHelper orgHelper = new OrganizerHelper(); config.OrganizerConfig = new OrganizerModel(); config.ExportConfig = new ExportModel(); config.ExportConfig.Xml = string.Empty; var crawler = crawlHelper.ConfigureCrawler(config.CrawlerConfig); var list = crawler.Crawl(); var analyzer = new WebsiteAnalyzer(config.AnalyzerConfig); var analyticsRunner = new AnalyticsRunner(crawler, analyzer); var site = analyticsRunner.Run(list); site.Name = config.Name; using (var sw = new StringWriter()) { var serializer = new XmlSerializer(typeof(Site)); serializer.Serialize(sw, site); config.ExportConfig.Xml = sw.ToString(); } config.OrganizerConfig.Pages = orgHelper.AddChildren(site.Root, site); return config; }
public WebsiteModel PostRunCrawler(WebsiteModel config) { CrawlerHelper crawlHelper = new CrawlerHelper(); return crawlHelper.CrawlWebsite(config); }