示例#1
0
 protected Spider(IOptions <SpiderOptions> options,
                  DependenceServices services,
                  ILogger <Spider> logger
                  )
 {
     Logger            = logger;
     _services         = services;
     Options           = options.Value;
     _requestedQueue   = new RequestedQueue(Options);
     _requestSuppliers = new List <IRequestSupplier>();
     _dataFlows        = new List <IDataFlow>();
 }
示例#2
0
        protected Spider(IOptions <SpiderOptions> options,
                         DependenceServices services,
                         ILogger <Spider> logger
                         )
        {
            Logger  = logger;
            Options = options.Value;

            if (Options.Speed > 500)
            {
                throw new SpiderException("Speed should not large than 500");
            }

            _services         = services;
            _requestedQueue   = new RequestedQueue();
            _requestSuppliers = new List <IRequestSupplier>();
            _dataFlows        = new List <IDataFlow>();
        }
示例#3
0
        protected Spider(IOptions <SpiderOptions> options,
                         DependenceServices services,
                         ILogger <Spider> logger
                         )
        {
            Logger  = logger;
            Options = options.Value;

            if (Options.Speed > 500)
            {
                throw new SpiderException("Speed should not large than 500");
            }

            _services         = services;
            _requestedQueue   = new RequestedQueue();
            _requestSuppliers = new List <IRequestSupplier>();
            _dataFlows        = new List <IDataFlow>();

            _defaultDownloader = _services.HostBuilderContext.Properties.ContainsKey(Const.DefaultDownloader)
                                ? _services.HostBuilderContext.Properties[Const.DefaultDownloader]?.ToString()
                                : Const.Downloader.HttpClient;
        }