1

Объясните пожалуйста, как написать минимальный код на c# для парсинга сайтов. Например я хочу спарсить погоду с какого-нибудь сайта. Как это сделать? Я пытался это сделать но ничего не получалось:

using System.Net;
using System.Text.RegularExpressions;
using System.Xml;
Uri uri = new Uri("https://ya.ru/");
Regex reHref = new Regex(@"<a[^>]+href=""([^""]+)""[^>]+>");
string  html = new WebClient().DownloadString(uri);
foreach (Match match in reHref.Matches(html))
    Console.WriteLine(match.Groups[1].ToString());
9owdl8r
  • 43
  • 1
  • Для получения погоды, валют и прочих популярных данных есть публичные API. Нет никакой необходимости парсить HTML для таких примитивных задач. 2) Для того чтобы парсить HTML регулярные выражения не используют, так как они просто не подходят для этой задачи. Для этой задачи есть 2 популярные библиотеки, на выбор - HtmlAgilityPack и AngleSharp. Они доступны в менеджере пакетов NuGet.
  • – aepot Feb 04 '23 at 11:22
  • 1
    Пример работы с погодой https://habr.com/ru/post/544592/. Я пытался это сделать но ничего не получалось - потому что на веб-страницу данные попадают с помощью JavaScript, а не приходит напрямую с сервера. То есть на странице, которую вы патались распарсить регуляркой, их тупо нет. Чтобы это понять, можно было вывести полученную с сайта строку в консоль. – aepot Feb 04 '23 at 11:30