示例#1
0
文件: Spider.cs 项目: Sky-Gu/SkyNet
        /// <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)));
        }