Как парсить данные в DOM-е страницы?

Aleksey575

Client
Регистрация
21.03.2020
Сообщения
30
Благодарностей
6
Баллы
8
Подскажите пожалуйста. С помощью GET запроса кладу в переменную дом страницы, на которой находится табличка с данными.
Мне нужно оттуда забрать название компании(обвёл красным),и затраты (обвёл жёлтым)
54174

Не могу сообразить с помощью чего это сделать: Регуляркой я только какой то один столбик могу забрать, положить в список,
54175


но как к нему потом правильно подставить остальные данные?
Если регуляркой построчно брать и класть в переменные, тоже не могу понять как это сделать.
Может Xpath, но тоже не знаю как этим методом искать в доме страницы, на сайте можно, а как в переменной это сделать?
Подскажите как это сделать
Мне нужно в итоге потом разложить всё в таблицу типа
название компании|Затраты|доходы
И так всю таблицу
Но перед этим возможно нужно будет произвести какие то математические действия с данными из строки таблицы, по этому нужно чтобы они в переменных были
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Поставь галочку разрешить переносы. Получишь отдельные коды для каждой огранизации, потом просто бери каждую строку и допаршивай.
 

Aleksey575

Client
Регистрация
21.03.2020
Сообщения
30
Благодарностей
6
Баллы
8
Поставь галочку разрешить переносы. Получишь отдельные коды для каждой огранизации, потом просто бери каждую строку и допаршивай.
Что то не пойму, как пользоваться этими переносами и на гуглить ни чего толкового не получается, можете слепить регулярку чтобы вытаскивало текстовые и числовые строки что я указал? Заранее спасибо за помощь )
HTML:
<tr class="w0" data-key="16"><td class="campaign-td w0" campaign-id="67682" data-col-seq="1"><span class="campaign-option-important ion ion-android-star-outline" title="Неважная"></span></td><td class="w0" data-col-seq="2">Exoclick</td><td class="grid-campaign w0" campaign-id="67682" data-col-seq="3"><button type="button" class="btn" data-clipboard-text="alx5441" style="background-color: #dbe9ff">alx5441</button></td><td class="w0" data-col-seq="4">S**treffen LP3 - DE, CH, AT (27131)</td><td class="w0" data-col-seq="5">Германия DE</td><td class="grid-spent w0" data-col-seq="6">0</td><td class="grid-earn w0" data-col-seq="7">0</td><td class="grid-cpa w0" data-col-seq="8">-</td><td class="w0" data-col-seq="9">0</td><td class="grid-roi w0" data-col-seq="10">0</td><td class="w0" data-col-seq="11">0</td><td class="w0" data-col-seq="12">100</td><td class="w0" data-col-seq="13"><a class="kv-editable-value kv-editable-link stat-get-comments" href="#" data-toggle="tooltip" data-original-title="Открыть историю комментариев">Стопнул, можно подумать как оптимизировать</a></td><td class="w0" data-col-seq="14">2020.03.31 14:02:54</td></tr>
<tr class="w0" data-key="17"><td class="campaign-td w0" campaign-id="67744" data-col-seq="1"><span class="campaign-option-important ion ion-android-star-outline" title="Неважная"></span></td><td class="w0" data-col-seq="2">Exoclick</td><td class="grid-campaign w0" campaign-id="67744" data-col-seq="3"><button type="button" class="btn" data-clipboard-text="alx5561" style="background-color: #dbe9ff">alx5561</button></td><td class="w0" data-col-seq="4">Titan Gel - CR (23773)</td><td class="w0" data-col-seq="5">Коста-Рика CR</td><td class="grid-spent w0" data-col-seq="6">91.15</td><td class="grid-earn w0" data-col-seq="7">196</td><td class="grid-cpa w0" data-col-seq="8">0.48</td><td class="w0" data-col-seq="9">360</td><td class="grid-roi w0" data-col-seq="10">2.1503</td><td class="w0" data-col-seq="11">26.06</td><td class="w0" data-col-seq="12">34</td><td class="w0" data-col-seq="13"><a class="kv-editable-value kv-editable-link stat-get-comments" href="#" data-toggle="tooltip" data-original-title="Открыть историю комментариев">Прокло/ленд, блок одного сайта</a></td><td class="w0" data-col-seq="14">2020.04.03 14:03:29</td></tr>
<tr class="w0" data-key="18"><td class="campaign-td w0" campaign-id="67845" data-col-seq="1"><span class="campaign-option-important ion ion-android-star-outline" title="Неважная"></span></td><td class="w0" data-col-seq="2">Exoclick</td><td class="grid-campaign w0" campaign-id="67845" data-col-seq="3"><button type="button" class="btn" data-clipboard-text="alx5871" style="background-color: #dbe9ff">alx5871</button></td><td class="w0" data-col-seq="4">Titan Gel - ID (6519)</td><td class="w0" data-col-seq="5">Индонезия ID</td><td class="grid-spent w0" data-col-seq="6">26.54</td><td class="grid-earn w0" data-col-seq="7">7</td><td class="grid-cpa w0" data-col-seq="8">13.27</td><td class="w0" data-col-seq="9">7</td><td class="grid-roi w0" data-col-seq="10">0.2638</td><td class="w0" data-col-seq="11">50</td><td class="w0" data-col-seq="12">21</td><td class="w0" data-col-seq="13"><a class="kv-editable-value kv-editable-link stat-get-comments" href="#" data-toggle="tooltip" data-original-title="Открыть историю комментариев">Стопнул 20.04</a></td><td class="w0" data-col-seq="14">2020.04.15 11:21:47</td></tr>
 

Aleksey575

Client
Регистрация
21.03.2020
Сообщения
30
Благодарностей
6
Баллы
8
А можно как то слепить в строчку сразу несколько регулярок, чтобы они из строки забирали только нужные данные
вот например первая регулярка берёт названия
54177

Вторая регулярка берёт затраты
54178

Как эти две регулярки объеденить в одну чтобы забиралась данные в одну строку, и ещё разделались ";"
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Что то не пойму, как пользоваться этими переносами и на гуглить ни чего толкового не получается, можете слепить регулярку чтобы вытаскивало текстовые и числовые строки что я указал? Заранее спасибо за помощь )
Да могу, 20 мин подождите.
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Во первых на скрине один код, скинул ты мне другой код. Сначала ты определись с какого кода будешь парсить.
Во вторых у тебя построчно данные, а это значит, что ты можешь брать строку и парсить ее двумя регулярками как ты и сам догадался.
Ну в третьих ты можешь поискать решения по форуму используя поисковый запрос
C#:
</td>
Думаю ты близок к решению, если не получится пиши. Что нибудь придумаем)
 
  • Спасибо
Реакции: Aleksey575

Aleksey575

Client
Регистрация
21.03.2020
Сообщения
30
Благодарностей
6
Баллы
8
Во первых на скрине один код, скинул ты мне другой код. Сначала ты определись с какого кода будешь парсить.
Во вторых у тебя построчно данные, а это значит, что ты можешь брать строку и парсить ее двумя регулярками как ты и сам догадался.
Ну в третьих ты можешь поискать решения по форуму используя поисковый запрос
C#:
</td>
Думаю ты близок к решению, если не получится пиши. Что нибудь придумаем)
Нет, код везде один и тот же просто я всего лишь часть его на скрине прислал(для простоты), и там специально обвёл СИНИМИ кружочками номера строк в блокноте, чтобы было понятно что их три))) и все данные одной строки таблицы лежат в одной строке кода.

Я решил данный вопрос так:
1) Сначала, беру кусок кода в начале нужной строки и кусок кода в конце этой же строки в регулярку
2) Кладу куски нужного кода в список
3) Из списка беру первую строку с удалением и из неё регулярками вытаскиваю все нужные данные, и так пока в списке не закончатся строки.
Профит )))
 
  • Спасибо
Реакции: Mikhail B.

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Я решил данный вопрос так:
1) Сначала, беру кусок кода в начале нужной строки и кусок кода в конце этой же строки в регулярку
2) Кладу куски нужного кода в список
3) Из списка беру первую строку с удалением и из неё регулярками вытаскиваю все нужные данные, и так пока в списке не закончатся строки.
Профит )))
Отличное решение задачи.
 
  • Спасибо
Реакции: Aleksey575

Platon

Client
Регистрация
26.09.2015
Сообщения
260
Благодарностей
121
Баллы
43
  • Спасибо
Реакции: Aleksey575

Aleksey575

Client
Регистрация
21.03.2020
Сообщения
30
Благодарностей
6
Баллы
8

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