Как распарсить страницу? - 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; } } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д