private void ParseSpecialityDetails(string pageRefer, string regionName) { try { string source; HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(pageRefer); HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); using (StreamReader stream = new StreamReader(resp.GetResponseStream(), Encoding.UTF8)) { source = stream.ReadToEnd(); } Regex univerRegex = new Regex(universityPattern); Match universityMatch = univerRegex.Match(source); string universityName = universityMatch.Groups[1].Value.ToString(); if (IsCollege(universityName)) { throw new Exception("Коледж"); } //Нужно очистить от "колледж", """ и тд //По названию города в названии вуза определить область вуза if (String.IsNullOrEmpty(currentUniversity.UniversityName)) { currentUniversity.UniversityName = universityName; currentUniversity.RegionName = regionName; currentUniversity.FillCity(regionName); } Regex facultyRegex = new Regex(facultyPattern); Match facultyMatch = facultyRegex.Match(source); string facultyName = facultyMatch.Groups[1].Value.ToString(); if (!currentUniversity.IsFacultyExist(facultyName)) { currentUniversity.Faculties.Add(new FacultyData(facultyName)); } //если нету такого факультета - добавить Regex specRegex = new Regex(specialityPattern); Match specMatch = specRegex.Match(source); string specName = specMatch.Groups[1].Value.ToString(); currentUniversity.AddSpecialityToFaculty(facultyName, specName); //к новому или уже существующему факультету добавить специальность } catch (Exception ex) { Console.WriteLine(ex.Message); IsUniversity = false; } }