예제 #1
0
 public void SetUp()
 {
     var resourceLoader = new ResourceLoader();
     _rootFolder = ConfigurationManager.AppSettings["PathToTestFolder"];
     var fileSaver = new FileSaver();
     var pageLocator = new ResourceLocationManager(_rootFolder);
     
     _webCrawler = new WebCrawlerService.WebCrawler();
 }
예제 #2
0
        private  ResourcesStack CreateResourceStackWithInitialResource(WebCrawlerParameters parameters)
        {
            var resourceLocationManagerForUnprocessableResources = new ResourceLocationManager(parameters.PathToFolder);
            var resourceLocationManagerForPages = new PageResourceLocationManager(parameters.PathToFolder);

            var resourceStack = new ResourcesStack();

            IResourceFactory factory =
                new ResourceFactory(
                    new ResourceLoader(),
                    new FileSaver(),
                    resourceLocationManagerForUnprocessableResources,
                    resourceLocationManagerForPages,
                    new RelativePathProducer(resourceLocationManagerForUnprocessableResources),
                    new RelativePathProducer(resourceLocationManagerForPages),
                    parameters.InitialHostUri,
                    parameters.LoadOnlySelectedDomainPages,
                    resourceStack);

            var initialResource = factory.GetHtmlModel(parameters.Uri, parameters.MaxDeep);

            resourceStack.AddResourceToQueue(initialResource);
            return resourceStack;
        }