Как спарсить определенную переменную из таблицы

art22

Client
Регистрация
24.06.2016
Сообщения
484
Благодарностей
68
Баллы
28
Добрый день друзья. Подскажите как спарсить определенное значение в таблице?

Пример. В таблице 30 строк, нужно только раздел Акции и вытащить сумму (50,00) Акции в переменную, данный раздел может находиться в разных по этому полную таблицу не выкладываю и class и другие параметры вечно меняются

<dl class="DescriptionList_grid__1DLS- Content_list__GW4Zr" style="grid-template-columns: 3fr 1fr;">
<dt class="Text Text_typography_body DescriptionListItem_term__IWeBN"><a class="Content_link__S1gjf" href="0" target="_blank">Акции</a></dt>
<dd class="Text Text_typography_body DescriptionListItem_details__fXkMA"><span class="Text Text_color_minor Text_color_minor Text_typography_caption">50,00</span></dd>
</dl>
 

backoff

Client
Регистрация
20.04.2015
Сообщения
5 926
Благодарностей
6 389
Баллы
113
через xpath, думаю самый действенный способ
либо через регулярки и проверки
 

art22

Client
Регистрация
24.06.2016
Сообщения
484
Благодарностей
68
Баллы
28
через xpath, думаю самый действенный способ
Пробовал не всегда срабатывает, так как таблицы меняются, может что то не так сделал надо убрать все лишнее в коде оставить Акции и сумму
 

backoff

Client
Регистрация
20.04.2015
Сообщения
5 926
Благодарностей
6 389
Баллы
113
значит путь неправильный
можно брать всю таблицу и обрезать все кроме акций регулярками

короче без нормального примера, сложно выдумывать
 

art22

Client
Регистрация
24.06.2016
Сообщения
484
Благодарностей
68
Баллы
28
можно брать всю таблицу и обрезать все кроме акций регулярками
С регулярками у меня слабовато, была бы обычная таблицы сделал бы легко, но в тегах много мусора.

ИНН:</td>.*?<td>(.*?)</td> так брал значение td

<dl.*?>.*?<dt.*?><a.*?>Акции</a></dt>.*?<dd.*?><span.*?>(.*?)</span></dd>.*?</dl> пытался так сделать но не работает, может как то по другому избавиться от мусора, но не знаю как)
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 458
Благодарностей
8 682
Баллы
113
@art22 Может быть, такой вариант будет полезен?
Регулярка: <.*?> Замена на пустоту.

93649
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)