Exemplo n.º 1
0
        private void PageRecieved(Page page)
        {
            _cache.Add(page.Url);

            OnPageDownloaded?.Invoke(page);

            if (page.Html != string.Empty)
            {
                var links = page.RetrieveLinks();

                foreach (var link in links)
                {
                    if (_cache.Contents.Contains(link.Target))
                    {
                        continue;
                    }

                    if (Filter.CanBeExcluded(link.Target))
                    {
                        continue;
                    }

                    _queue.Enqueue(new Downloader(link.Target));
                }
            }
        }
Exemplo n.º 2
0
 public Downloader(string url, OnPageDownloaded onDownloadedPage, ImageDownloaded onImageDownloaded)
 {
     _url = url;
     DownloadedPage += onDownloadedPage;
     OnDownloadedImage += onImageDownloaded;
 }