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