Example #1
0
        static void Main(string[] args)
        {
            logger.Info("Logger started");

            var    pageUrl      = "https://en.wikipedia.org/wiki/Gallery_of_sovereign_state_flags";
            var    httpDownload = new HttpRequestAndLoad();
            string httpText     = httpDownload.Load(pageUrl);

            var httpParser = new HtmlParser();
            var element    = httpParser.Parse(httpText).DocumentElement;

            var flagsHref = element.SelectNodes(@"//*[@id='mw-content-text']/div/table//table//tr[1]/td[1]/a/img");

            // Async Timer
            using (var timer = new LogWrapTimer())
            {
                var downloadQueue = new DownloadFileQueue()
                {
                    Extension = ".jpg",
                    AsyncMode = false
                };

                downloadQueue.Setup("Flags");

                foreach (IElement flagHref in flagsHref)
                {
                    var urlRelative = flagHref.GetAttribute("src");
                    var urlAbsolute = new Uri(new Uri(pageUrl), urlRelative);

                    downloadQueue.AddTask(urlAbsolute.AbsoluteUri);
                }

                downloadQueue.Wait();
            }
        }
Example #2
0
        public void Setup(string local)
        {
            indexFile    = new IndexFile(local);
            downloadHtml = new DownloadFileQueue()
            {
                Extension = ".html"
            };
            downloadHtml.Setup("WebPages");

            downloadImges = new DownloadFileQueue()
            {
                Extension = ".jpg"
            };
            downloadImges.Setup("images");

            if (AsyncMode)
            {
                service  = new ConcurrentQueueService();
                consumer = Task.Factory.StartNew(service.Dequeue);
            }
        }