Ejemplo n.º 1
0
        /// <summary>
        /// 启动
        /// </summary>
        /// <param name="request">抓取请求</param>
        /// <param name="parser">页面分析器</param>
        /// <param name="storage">数据存储器,,默认显示在控制台</param>
        public void Start(List <Request> request, List <IDataFlow> parser, IDataFlow storage = null)
        {
            Spider _spider = _provider.Create <Spider>();

            if (null == storage)
            {
                storage = new ConsoleStorage();
            }
            _spider.NewGuidId();           // 设置任务标识
            _spider.Name  = "测试采集";        // 设置任务名称
            _spider.Speed = 10;            // 设置采集速度, 表示每秒下载多少个请求, 大于 1 时越大速度越快, 小于 1 时越小越慢, 不能为0.
            _spider.Depth = 3;             // 设置采集深度
            if (parser != null)
            {
                foreach (IDataFlow item in parser)
                {
                    _spider.AddDataFlow(item);
                }
            }
            _spider.AddDataFlow(storage);
            _spider.AddRequests(request.ToArray()); // 设置链接
            _spider.RunAsync();                     // 启动
        }