示例#1
0
 public WebScraper(ProxyCfg proxy, YtCollectCfg collectCfg, ISimpleFileStore logStore)
 {
     Proxy      = proxy;
     CollectCfg = collectCfg;
     LogStore   = logStore;
     Clients    = new ResourceCycle <HttpClient, ProxyConnectionCfg>(proxy.DirectAndProxies(), p => Task.FromResult(CreateHttpClient(p)));
 }
示例#2
0
 public YtWeb(ProxyCfg proxy, YtCollectCfg collectCfg, ISimpleFileStore logStore)
 {
     Proxy      = proxy;
     CollectCfg = collectCfg;
     LogStore   = logStore;
     Clients    = new(proxy.DirectAndProxies(), p => Task.FromResult(p.CreateHttpClient()));
 }
示例#3
0
 public ChromeScraper(ProxyCfg proxyCfg, YtCollectCfg collectCfg, ISimpleFileStore logStore)
 {
     ProxyCfg       = proxyCfg;
     CollectCfg     = collectCfg;
     LogStore       = logStore;
     ExecutablePath = new(async() => {
         var revisionInfo = await new BrowserFetcher().DownloadAsync(802497); //revision needs to be recent to be able to use optional chaining
         return(revisionInfo.ExecutablePath);
     });
 }
示例#4
0
 public static ProxyConnectionCfg Proxy(this ProxyCfg cfg, ProxyType type) => cfg.Proxies.FirstOrDefault(c => c.Type == type);
示例#5
0
 public BcWeb(ProxyCfg proxy, BitChuteCfg cfg)
 {
     Proxy        = proxy;
     Cfg          = cfg;
     FlurlClients = new(new(), new(proxy.Proxies.FirstOrDefault()?.CreateHttpClient()));
 }
示例#6
0
 public ChromeScraper(ProxyCfg proxyCfg, YtCollectCfg collectCfg, ISimpleFileStore logStore)
 {
     ProxyCfg   = proxyCfg;
     CollectCfg = collectCfg;
     LogStore   = logStore;
 }