Example #1
0
        public static async Task FileHandler(string _URL, int _searchDepth)
        {
            string searchTerm = "Game";

            Crawler.AddLink(_URL);
            string content = await Crawler.DownloadFile(_URL);

            int Foundterm = Crawler.SearchForPhrase(searchTerm, content);

            Console.WriteLine("'{2}' found {0} times in {1}", Foundterm, _URL, searchTerm);
            //Console.WriteLine(string.Join("\n", Crawler.WebsiteList(content)));
            _searchDepth -= 1;

            if (_searchDepth > 0)
            {
                List <Task> allTasks = new List <Task>();

                foreach (string link in Crawler.WebsiteList(content))
                {
                    if (Crawler.AddLink(link))
                    {
                        Task task = FileHandler(link, _searchDepth);
                        allTasks.Add(task);
                    }
                }
                await Task.WhenAll(allTasks.ToArray());
            }
        }