public async Task <string> Download() { UrlsConfiguration urlsConfiguration = _configuration.UrlsConfiguration; string rnsLinks = await _client.Download(string.Format(urlsConfiguration.SearchUrl)); return(rnsLinks); }
public async Task <List <string> > CreateUrls() { MetaDataConfiguration metaDataConfiguration = _configuration.MetaDataConfiguration; SymbolsConfiguration symbolsConfiguration = _configuration.SymbolsConfiguration; UrlsConfiguration urlsConfiguration = _configuration.UrlsConfiguration; HtmlDocument document = new HtmlDocument(); document.LoadHtml(await _feedDownloader.Download()); IEnumerable <HtmlNode> htmlNodes = document.DocumentNode.Descendants() .Where(x => x.Name == "td") .Where(x => x.HasClass("RNS_data")); List <string> urls = new List <string>(500); foreach (HtmlNode htmlNode in htmlNodes) { int startIndex = htmlNode.OuterHtml.IndexOf("/exchange/news/market-news", StringComparison.OrdinalIgnoreCase); if (startIndex != -1) { int endIndex = htmlNode.OuterHtml.IndexOf(metaDataConfiguration.Extension, startIndex, StringComparison.OrdinalIgnoreCase); if (endIndex != -1) { string value = htmlNode.OuterHtml.Substring(startIndex, (endIndex - startIndex) + metaDataConfiguration.Extension.Length); if (symbolsConfiguration.Symbols.Any(x => value.IndexOf(x, StringComparison.Ordinal) != -1)) { string url = urlsConfiguration.BaseUrl + value; urls.Add(url); } } } } return(urls); }
public PhotosService(HttpClient httpClient, IOptions <UrlsConfiguration> config) { _httpClient = httpClient; _urls = config.Value; }
public ClientGrpcService(HttpClient httpClient, IOptions <UrlsConfiguration> config, ILogger <ClientGrpcService> logger) { _urls = config.Value; _logger = logger; }