Как парсить HTML таблицу

Тема в разделе "Обработка данных при парсинге во вкладке "Контент"", создана пользователем Stan, 13 дек 2016.

Статус темы:
Закрыта.
  1. Stan

    Stan Active Member Пользователи

    Регистрация:
    15 июн 2011
    Сообщения:
    499
    есть такая таблица

    <thead>
    <tr>
    <th>параметр1</th>
    <th>параметр2</th>
    </thead>
    <tbody>
    <tr><td>значение1 </td><td> значение2</td>

    нужно в одну ячейку сделать

    параметр1:значение1;параметр2:значение2


    поиск заменой можно так сделать?
     
  2. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    в поиск-замена
    th|td
     
  3. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Ссылки недоступны для гостей
     
    Stan нравится это.
  4. Stan

    Stan Active Member Пользователи

    Регистрация:
    15 июн 2011
    Сообщения:
    499
    спасибо, да, работает.

    а как сделать если нужно всю таблицу так взять? не только первую строку а все следующие строки

    т.е. я понял нужно перебирать дальше по номеру строк [GETTDATA(1|3|2)] и тд

    но если у карточек разнятся кол-во столбцов и строк .

    что-то подобие DYNAMICVALUES но чтобы данные были Параметр:Значение;Параметр2:Значение2; и тд
     
  5. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Я вам дал ссылку на хелп по вашему вопросу в первом своем вам ответе.
     
    Stan нравится это.
  6. Stan

    Stan Active Member Пользователи

    Регистрация:
    15 июн 2011
    Сообщения:
    499
    как взять только первый столбик?
     
  7. Stan

    Stan Active Member Пользователи

    Регистрация:
    15 июн 2011
    Сообщения:
    499
    в таблице - горизонтальной, названия в шапке, в первом столбике - артикулы
    нужно их подставлять к границе 1 и чтобы на отдельной строке в csv

    <CD_GRAN_1!> артикул1
    <CD_GRAN_1!> артикул2 и тд.

    вот шаб таблицы
    <CD_DOCURL!>[CSVCS][LOADHTMLTABLE(1)][APPLYTABLESPANS][CREPLACE]<{skip}>|[/CREPLACE]<CD_GRAN_11!>[/APPLYTABLESPANS][/LOADHTMLTABLE][REBUILD(1)][SEP][ROWSEP][CSVLB]<CD_DOCURL!>[CSVCS][/SEP][HTITLE]:[JUNCTION];[/REBUILD]
     
  8. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Пример кода таблицы нужен и пример желаемого результата.
     
  9. Stan

    Stan Active Member Пользователи

    Регистрация:
    15 июн 2011
    Сообщения:
    499
    вот проект

    нужно чтобы в третьем столбце выводились Название товара <CD_GRAN_5!> и подставлялись артикулы по порядку из столбца - чтоб соответсвие было второму столбцу
     

    Вложения:

    Последнее редактирование: 15 дек 2016
  10. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Если вы рассчитываете на мою помощь, лучше скинуть именно то, что говорят.
     
  11. Stan

    Stan Active Member Пользователи

    Регистрация:
    15 июн 2011
    Сообщения:
    499
    <table class="styled pricelist">
    <thead>
    <tr>
    <th>Артикул
    </th><th>Присоед. квадрат
    </th><th>Мин. усилие, Нм
    </th><th>Макс. усилие, Нм
    </th><th>Вес, кг
    </th><th>L1, мм
    </th><th>L2, мм
    </th><th>H1, мм
    </th><th>H2, мм
    </th><th>Радиус, мм
    </th><th>W1, мм
    </th><th>W2, мм
    </th><th colspan="2">Цена, руб</th> </tr>
    </thead>
    <tbody>
    <tr><td> RT-5 </td><td> 1/2’’ </td><td> 75 </td><td> 538 </td><td> 0.4 </td><td> 81 </td><td> 125 </td><td> 60.5 </td><td> 93 </td><td> 13.5 </td><td> 33.5 </td><td> 50.5
    </td><td align=right style="white-space: nowrap;">по запросу</td><td></td></tr><tr><td> RT-1 </td><td> 3/4’’ </td><td> 271 </td><td> 1817 </td><td> 1.9 </td><td> 120 </td><td> 183 </td><td> 90.5 </td><td> 122 </td><td> 23 </td><td> 50 </td><td> 71
    </td><td align=right style="white-space: nowrap;">по запросу</td><td></td></tr><tr><td> RT-3 </td><td> 1’’ </td><td> 651 </td><td> 4379 </td><td> 3.9 </td><td> 155 </td><td> 237 </td><td> 120 </td><td> 156 </td><td> 33 </td><td> 66.5 </td><td> 95.5
    </td><td align=right style="white-space: nowrap;">по запросу</td><td></td></tr><tr><td> RT-5 </td><td> 1-1/2’’ </td><td> 1132 </td><td> 7578 </td><td> 7.5 </td><td> 185 </td><td> 288 </td><td> 144.5 </td><td> 181 </td><td> 37 </td><td> 80 </td><td> 126
    </td><td align=right style="white-space: nowrap;">по запросу</td><td></td></tr><tr><td> RT-8 </td><td> 1-1/2’’ </td><td> 1627 </td><td> 10845 </td><td> 11.5 </td><td> 202 </td><td> 321 </td><td> 164.6 </td><td> 213.36 </td><td> 41 </td><td> 88 </td><td> 126
    </td><td align=right style="white-space: nowrap;">по запросу</td><td></td></tr><tr><td> RT-10 </td><td> 1-1/2’’ </td><td> 2379 </td><td> 15617 </td><td> 13.4 </td><td> 232 </td><td> 357 </td><td> 186 </td><td> 239 </td><td> 48 </td><td> 100 </td><td> 142.5
    </td><td align=right style="white-space: nowrap;">по запросу</td><td></td></tr><tr><td> RT-20 </td><td> 2-1/2’’ </td><td> 4013 </td><td> 26787 </td><td> 18 </td><td> 259 </td><td> 420 </td><td> 216 </td><td> 251 </td><td> 55.11 </td><td> 119 </td><td> 170
    </td><td align=right style="white-space: nowrap;">по запросу</td><td></td></tr><tr><td> RT-25 </td><td> 2-1/2’’ </td><td> 5368 </td><td> 35096 </td><td> 31 </td><td> 310 </td><td> 473 </td><td> 234 </td><td> 282 </td><td> 61 </td><td> 134 </td><td> 191
    </td><td align=right style="white-space: nowrap;">по запросу</td><td></td></tr><tr><td> RT-50 </td><td> 2-1/2’’ </td><td> 10675 </td><td> 71169 </td><td> 48 </td><td> 390 </td><td> 615 </td><td> 294 </td><td> 344 </td><td> 79 </td><td> 167 </td><td> 228</td><td align=right style="white-space: nowrap;">по запросу</td><td></td></tr> </tbody>
    </table>
     
    Последнее редактирование: 15 дек 2016
  12. Stan

    Stan Active Member Пользователи

    Регистрация:
    15 июн 2011
    Сообщения:
    499
    желаемый результат

    Ссылки недоступны для гостей


    т.е. граница <CD_GRAN_5!> и артикулы из столбца первого
     
  13. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Доработал программу.

    Скачайте и установите доработанную версию программы (в программе: главное меню - файл - центр обновлений -> кнопка "обновить через сайт").

    2016-12-15_22-07-52.png

    2016-12-15_22-06-16.png
     
    Stan нравится это.
  14. Stan

    Stan Active Member Пользователи

    Регистрация:
    15 июн 2011
    Сообщения:
    499
    а как туда еще добавить [REBUILD(1)][SEP][ROWSEP][CSVLB][/SEP][HTITLE]:[JUNCTION];[/REBUILD]


    в данные
    [HTITLE]:[JUNCTION];
    не получается
     
    Последнее редактирование: 15 дек 2016
  15. Stan

    Stan Active Member Пользователи

    Регистрация:
    15 июн 2011
    Сообщения:
    499
    Ссылки недоступны для гостей данные из 2 ой колонки каким обазом можно добавить? башку сломал уже не получается
     
  16. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    В [ROWTEMPLATE] (шаблон ряда) поместить [GETTDATA(1|[Y]|2)]
    2016-12-16_05-14-07.png
     
  17. Stan

    Stan Active Member Пользователи

    Регистрация:
    15 июн 2011
    Сообщения:
    499
    так мне надо добавить не это, а данные - название из <th> и значение как из первого поста. я писал в постах же, и в проекте который скидывал, там второй столбик - что нужно присобачить в третий столбик
    1 строка - параметр1:значение1;параметр2:значение2 это все данные из 2 ой строки столбика а ниже , сооответственно 3 и последуюшие
    1 строка - параметр1:значение3;параметр2:значение5 и т.д.

    т.е. к тому что вы показали добавить еще столбик с данными из всей таблицы
    [HTITLE]:[JUNCTION];
     
  18. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Вы путаетесь! И не можете сразу четко и ясно пояснить, что требуется!

    Сначала просили артикулы из первого столбца (http://forum.sbfactory.ru/threads/kak-parsit-html-tablicu.4433/#post-25715)! Решение предоставил! Теперь просите данные из второй колонки (вот ваши слова http://forum.sbfactory.ru/threads/kak-parsit-html-tablicu.4433/#post-25719)! Решение предоставил! Все работает!

    А теперь говорите, что вы же писали. Хотя с вами бесплатно и непонятно зачем возятся! Мне это не надо! А с таким отношением и подавно!
     
    Последнее редактирование: 16 дек 2016
Статус темы:
Закрыта.

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