.NET 4.x Парсинг сайта - C#

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста чем лучше всего парсить сайты? что-бы было просто и легко. Html Agility Pack xNet Или еще чем-то. Нужно пропарсить сайт http://vseazs.com/ именно цены на бензин и имя заправки и закинуть это все в label-ы. А то не получается =(( Пробывал xNet закидывать в label получается скачал страницу и вывел ее в лейбел показало мне html код а как отсортировать его?.

Решение задачи: «.NET 4.x Парсинг сайта»

textual
Листинг программы
  1. using System;
  2. using System.Threading.Tasks;
  3. using System.Net.Http;
  4. using HtmlAgilityPack;
  5.  
  6. namespace NameAndPrice
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             Console.WriteLine("Please wait...\n");
  13.             ShowPrices().Wait();
  14.             Console.WriteLine("Done");
  15.  
  16.             // Delay
  17.             Console.ReadKey();
  18.         }
  19.  
  20.         private static async Task ShowPrices()
  21.         {
  22.             using (var client = new HttpClient())
  23.             {
  24.                 string html = await client.GetStringAsync("http://vseazs.com/");
  25.  
  26.                 HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
  27.                 htmlDoc.LoadHtml(html);
  28.  
  29.                 try
  30.                 {
  31.          
  32.  
  33.  
  34.                     HtmlNodeCollection nodes = htmlDoc.DocumentNode.SelectSingleNode("//div[@id='PricesTable']").SelectSingleNode("//table//tbody").ChildNodes;
  35.  
  36.                     foreach (var tr in nodes)
  37.                     {
  38.                         var tds = tr.ChildNodes;
  39.                         if (tds.Count == 4)
  40.                         {
  41.                             Console.WriteLine("Название: {0}", tds[0].InnerText);
  42.                             Console.WriteLine("Цена: {0}", tds[1].InnerText);
  43.                         }
  44.                         Console.WriteLine("");
  45.                     }
  46.  
  47.                     //Console.WriteLine(htmlDoc.DocumentNode.SelectSingleNode("//div[@id='4_2']").ChildNodes.Select(x => x.Name).Aggregate((a, b) => a + ", " + b));
  48.                 }
  49.                 catch (Exception ex)
  50.                 {
  51.                     Console.WriteLine(ex.Message);
  52.                     return;
  53.                 }
  54.             }
  55.         }
  56.     }
  57. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут