static void Main(string[] args) { string Url = "https://www.gismeteo.ru"; HtmlParser MainPage = new HtmlParser(Url); HtmlNodeCollection PopularCities = MainPage.GetInfo("//a[@data-name]"); LinkOnCity[] Links = new LinkOnCity[PopularCities.Count]; int IterFoLink = 0; string Href, Name; DataBaseOperator dataBaseOperator = new DataBaseOperator(); City c = new City(); foreach (var City in PopularCities) { Name = City.GetAttributeValue("data-name", ""); Href = Url + City.GetAttributeValue("href", ""); Links[IterFoLink] = new LinkOnCity(Href, Name); Console.WriteLine(Links[IterFoLink++].ToString()); c.Name = Name; dataBaseOperator.InsertCity(c); } foreach (var Link in Links) { HtmlParser EachCity = new HtmlParser(Link.Href); var temperature = EachCity.GetInfo("//div[@class='tabtempline tabtemp_1line clearfix']//span[@class='unit unit_temperature_c']"); var desc = EachCity.GetInfo("//a[@class='nolink tab tablink tooltip']"); Weather weather = new Weather { Day = DateTime.Now.AddDays(1).Date, CityId = dataBaseOperator.GetCityIdByName(Link.Name), NightTemp = int.Parse(ConverTemperature(temperature[0].InnerText)), DayTemp = int.Parse(ConverTemperature(temperature[1].InnerText)), Descriptoin = desc[0].GetAttributeValue("data-text", "") }; Console.WriteLine("\t" + Link.ToString() + " " + int.Parse(ConverTemperature(temperature[0].InnerText)) + " " + int.Parse(ConverTemperature(temperature[1].InnerText)) + " " + desc[0].GetAttributeValue("data-text", "")); if (dataBaseOperator.ExistsWeather(weather)) { dataBaseOperator.UpdateWeather(weather); } else { dataBaseOperator.InsertWeather(weather); } } Console.WriteLine(); Console.ReadKey(); }