Как распарсить страницу? - C#

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

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

Помогите пропарсить http://dila.ua/pricelist/. Нужно вытащить название-цена, срок выполнения анализа.... пробовал через html agility pack, но цены хз как захватить....

Решение задачи: «Как распарсить страницу?»

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://dila.ua/pricelist/");
 
                HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
                htmlDoc.LoadHtml(html);
 
                try
                {
                    HtmlNodeCollection nodes = htmlDoc.DocumentNode.SelectSingleNode("//div[@id='4_2']").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;
                }
            }
        }
    }
}

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


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

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

11   голосов , оценка 4.182 из 5