Esempio n. 1
0
        /// <summary>
        ///     页面下载
        /// </summary>
        private void ProcessRequest(Request request, IDownLoader downLoader)
        {
            var page = downLoader.DownLoader(request, this);

            PageProcessor.Process(page);
            Scheduler.AddFinishRequest(request);
            SpiderListening.ForEach(item => item.AfterSuccess(request));

            if (page.IsSave)
            {
                Pipelines.ForEach(item => item.Process(page.PageResult));
            }

            GetPageUrl(page).ForEach(item => Scheduler.AddWaitRequest(new Request(item)));
        }
Esempio n. 2
0
 public RankTrackerController(IDownLoader downLoader, IParser parser)
 {
     this.downloader = downLoader;
     this.parser     = parser;
 }
Esempio n. 3
0
 public Spider(Site site, IPageProcessor pageProcessor, IScheduler scheduler, IDownLoader downLoader)
     : this(site, pageProcessor, scheduler)
 {
     DownLoader = downLoader;
 }