//foreach(var pair in countries) // Console.WriteLine("{0} - {1}", pair.Key, pair.Value); public List <Bank> ParseBanks() { Console.WriteLine("Start parsing banks... "); IConfiguration config = Configuration.Default.WithDefaultLoader(); IBrowsingContext context = BrowsingContext.New(config); //ParseCredits(context, "https://myfin.by/bank/belarusbank"); IDocument document = context.OpenAsync("https://myfin.by/banki").Result; IElement banksTable = document.QuerySelectorAll("table[class*='rates-table-sort']").First(); List <Bank> bankList = new List <Bank>(); IHtmlCollection <IElement> banksHtml = banksTable.QuerySelectorAll("tr[class*='tr-tb']"); int i = 0; foreach (IElement bankRow in banksHtml) { i++; Console.WriteLine($"{i}/{banksHtml.Count()}"); string bankName; string bankAddress; string bankURL; List <Phone> bankPhoneNumbers = new List <Phone>(); IHtmlCollection <IElement> currentBankColumns = bankRow.QuerySelectorAll("td"); bankName = currentBankColumns[0].QuerySelector("span").InnerHtml; bankURL = "https://myfin.by" + currentBankColumns[0].QuerySelector("a").GetAttribute("href"); foreach (IElement phoneNumberElement in currentBankColumns[1].QuerySelectorAll("a[class*='phone']")) { bankPhoneNumbers.Add(new Phone { PhoneNumber = phoneNumberElement.InnerHtml.Replace("+", "").Replace("-", "").Replace(" ", "") }); } bankAddress = currentBankColumns[2].TextContent.Replace("\n", "").Trim(); Bank bank = new Bank { ID = Guid.NewGuid(), Name = bankName, Address = bankAddress, Email = infoForBank[bankName][0], BankAccount = infoForBank[bankName][1], BIK = infoForBank[bankName][2], Information = infoForBank[bankName][3], DepositList = ParseDeposits(context, bankURL), CreditList = ParseCredits(context, bankURL), PhoneList = bankPhoneNumbers, }; bankList.Add(bank); //return bankList; } context.Dispose(); document.Dispose(); Console.WriteLine("complete"); return(bankList); //return null; }
/// <inheritdoc /> public Task Dispose() { DebugLog.RemoveListener(SteamLogCallback); context?.Dispose(); client?.Disconnect(); foreach (IDisposable disposable in disposables) { disposable?.Dispose(); } client = null; apps = null; user = null; manager = null; return(Task.CompletedTask); }
/// <inheritdoc /> public Task Dispose() { context?.Dispose(); return(Task.CompletedTask); }
public void Dispose() { _context.Dispose(); _document.Dispose(); }