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)); } } }
public Downloader(string url, OnPageDownloaded onDownloadedPage, ImageDownloaded onImageDownloaded) { _url = url; DownloadedPage += onDownloadedPage; OnDownloadedImage += onImageDownloaded; }