парсинг таблицы с одинаковыми кодами названий, но в разные колонки

Тема в разделе "Парсинг HTML-таблиц", создана пользователем OLEG15799, 15 окт 2019.

  1. OLEG15799

    OLEG15799 Member Пользователи

    Регистрация:
    8 окт 2019
    Сообщения:
    17
    Город:
    Воронеж
    Здравствуйте. Никак не могу решить две проблемы.
    Есть вот такой код:
    Код:
    "<div class=""table_sub_header"">
    <div class=""table_row"">
    <div class=""table_cell""><div>Счет</div></div>
    <div class=""table_cell""><div>Минута</div></div>
    <div class=""table_cell table_cell_player""><div>Игрок</div></div>
    <div class=""table_cell table_cell_xg""><div>xG</div></div>
    <div class=""table_cell table_cell_result""><div>Исход</div></div>
    <div class=""table_cell table_cell_player""><div>Игрок</div></div>
    <div class=""table_cell table_cell_xg""><div>xG</div></div>
    <div class=""table_cell table_cell_result""><div>Исход</div></div>
    </div>
    </div>
    <div class=""table_body"">
    
    <div class=""table_row table_row_guest"">
    <div class=""table_cell "">
    0-0                </div>
    <div class=""table_cell "">
    4                </div>
    <div class=""table_cell table_cell_player"">
    </div>
    <div class=""table_cell table_cell_xg"">
    </div>
    <div class=""table_cell table_cell_result"">
    </div>
    <div class=""table_cell table_cell_player"">
    <a>M. STIEPERMANN </a>                </div>
    <div class=""table_cell table_cell_xg"">
    0.05                </div>
    <div class=""table_cell table_cell_result"">
    Промах                </div>
    </div>
    <div class=""table_row table_row_home"">
    <div class=""table_cell "">
    0-0                </div>
    <div class=""table_cell "">
    7                </div>
    <div class=""table_cell table_cell_player"">
    <a>G. HANLEY </a>                </div>
    <div class=""table_cell table_cell_xg"">
    </div>
    <div class=""table_cell table_cell_result"">
    Автогол                </div>
    <div class=""table_cell table_cell_player"">
    </div>
    <div class=""table_cell table_cell_xg"">
    </div>
    <div class=""table_cell table_cell_result"">
    </div>
    </div>
    Нужно привести таблицу к виду как в приложении (исходная страница сайта ). Проблема первая, два параметра (например, счет и минута) имеют один и тот же код. Соответственно, оба параметра сливаются в одну колонку. Проблема вторая, мне не понятно как реализовать СД, вывод строки с заданной последовательностью (в HTML виде происходит сдвиг столбцов, которые без значений). Нужно, чтобы таблица не рассыпалась.
     

    Вложения:

    Последнее редактирование: 15 окт 2019
  2. inotoxic

    inotoxic Well-Known Member Пользователи

    Регистрация:
    13 сен 2015
    Сообщения:
    646
    Как вариант повторяющиеся внутри повторяющихся
     
  3. OLEG15799

    OLEG15799 Member Пользователи

    Регистрация:
    8 окт 2019
    Сообщения:
    17
    Город:
    Воронеж
    Так как, названия одинаковых классов чередуются, есть ли такая функция в модуле замены, замена первого или второго соответствия на заданное? Т.е. первое -table_cell, второе будет -table_cell1, третье -table_cell и т,д.
     
  4. OLEG15799

    OLEG15799 Member Пользователи

    Регистрация:
    8 окт 2019
    Сообщения:
    17
    Город:
    Воронеж
    Проблему чередования названий одинаковых классов в разные столбцы решил оператором замены [SEGMENT]{start}{/start}{end}{/end}|. Т.е. переименовал название первого класса от начала границы парсинга. Второй при этом остался неизменным. Теперь структура таблицы стала заданной.
     
    Root и kagorec нравится это.

Поделиться этой страницей