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

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

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

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

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

textual
Листинг программы
using System;
using System.Threading.Tasks;
using System.Net.Http;
using HtmlAgilityPack;
 
namespace NameAndPrice
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Please wait...\n");
            ShowPrices().Wait();
            Console.WriteLine("Done");
 
            // Delay
            Console.ReadKey();
        }
 
        private static async Task ShowPrices()
        {
            using (var client = new HttpClient())
            {
                string html = await client.GetStringAsync("http://vseazs.com/");
 
                HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
                htmlDoc.LoadHtml(html);
 
                try
                {
          
 
 
                    HtmlNodeCollection nodes = htmlDoc.DocumentNode.SelectSingleNode("//div[@id='PricesTable']").SelectSingleNode("//table//tbody").ChildNodes;
 
                    foreach (var tr in nodes)
                    {
                        var tds = tr.ChildNodes;
                        if (tds.Count == 4)
                        {
                            Console.WriteLine("Название: {0}", tds[0].InnerText);
                            Console.WriteLine("Цена: {0}", tds[1].InnerText);
                        }
                        Console.WriteLine("");
                    }
 
                    //Console.WriteLine(htmlDoc.DocumentNode.SelectSingleNode("//div[@id='4_2']").ChildNodes.Select(x => x.Name).Aggregate((a, b) => a + ", " + b));
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    return;
                }
            }
        }
    }
}

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


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

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

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