Парсинг HTML (CsQuery, HAP) - C#
Формулировка задачи:
Приветствую! Как вывести данные класса "a.shedule-data ", а именно время без дочернего блока div.price_block?
Я нашел вариант (велосипед). Пример на CsQuery
Удаляю дочерний класс, и просто вывожу родителя...
И все бы хорошо, но так делать не есть хорошо. Из div "price_block" необходимо получать содержание определенного тега td.hall-td
В общем, как поступить?
Листинг программы
- <div class="d-right">
- <a href="/reservation/?movieId=26100884&movId=2801" class="shedule-data ">
- 19:40
- <div class="price_block">...</div>
- </a>
- <a href="/reservation/?movieId=26100926&movId=2801" class="shedule-data ">
- 20:30
- <div class="price_block">...</div>
- </a>
- <a href="/reservation/?movieId=26101101&movId=2801" class="shedule-data ">
- 21:40
- <div class="price_block">...</div>
- </a>
- <a href="/reservation/?movieId=26100927&movId=2801" class="shedule-data ">
- 23:40
- <div class="price_block">...</div>
- </a>
- </div>
Листинг программы
- var web = CQ.CreateFromUrl("http://www.luxorfilm.ru/cinema/rostov-na-donu");
- var kino_hall = web.Select(".shedule-data "); //проходим по всем классам "shedule-data "
- if (kino_hall != null)
- {
- foreach (var k in kino_hall)
- {
- CQ div = web[".price_block"];
- div.Remove(); //удаляем дочерний div
- listBox1.Items.Add(k.InnerText); //выводим данные .класса "shedule-data " в тестовом виде
- }
- }
Листинг программы
- <div class="price_block">
- <div class="red-triangle">
- </div>
- <div class="price-cont">
- <table class="pbWrap">
- <tbody>
- <tr>
- <td class="hall-td">Зал 6 VIP</td>
- <td class="price-td">Цена</td>
- </tr>
- <tr>
- <td>Стандарт:</td>
- <td>800p.</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
Решение задачи: «Парсинг HTML (CsQuery, HAP)»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using HtmlAgilityPack;
- namespace ConsoleApplication20
- {
- class Program
- {
- static void Main(string[] args)
- {
- string s = @"<div class=""d - right"">
- <a href = ""/reservation/?movieId=26100884&movId=2801"" class=""shedule-data "">
- 19:40
- <div class=""price_block"">...</div>
- </a>
- <a href = ""/reservation/?movieId=26100926&movId=2801"" class=""shedule-data "">
- 20:30
- <div class=""price_block"">...</div>
- </a>
- <a href = ""/reservation/?movieId=26101101&movId=2801"" class=""shedule-data "">
- 21:40
- <div class=""price_block"">...</div>
- </a>
- <a href = ""/reservation/?movieId=26100927&movId=2801"" class=""shedule-data "">
- 23:40
- <div class=""price_block"">...</div>
- </a>
- </div>
- ";
- HtmlDocument HD = new HtmlDocument();
- HD.LoadHtml(s);
- var strs = HD.DocumentNode.SelectNodes("//a[@class='shedule-data ']/text()[1]");
- foreach (HtmlNode node in strs) Console.WriteLine(node.InnerText.Trim());
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д