Парсинг характеристик из HTML-таблиц

Тема в разделе "Парсинг характеристик товаров", создана пользователем freepowan, 3 фев 2018.

  1. freepowan

    freepowan New Member Пользователи

    Регистрация:
    20 янв 2018
    Сообщения:
    10
    Город:
    мск
    Здравствуйте!
    Очень надеюсь на вашу помощь.
    Дано:

    Цвет / Размер / Артикул / Фасовка(шт)/ Цена
    красн/..XXL .../..0001...../.........1 ............. / 100 р
    зелен/ 10х50с /...0002...../ ........ 2.........../ 150 р
    [​IMG][​IMG]
    либо, например, только Артикул, Фасовка и Цена.

    Всё это дело в коде представлено следующим образом:

    Код:
    <tbody>
    <tr>
    <td class="property">
    красн                   </td>
    <td class="property">
    XXL                   </td>
    <td class="property">
    0001                   </td>
    <td class="property">
    1                   </td>
    <td class="price">
    <div class="cost prices clearfix">
    <div class="price">
    <span class='price_value'>90</span><span class='price_currency'> руб.</span>                                                                    </div>
    <div class="price discount">
    <span><span class='price_value'>100</span><span class='price_currency'> руб.</span></span>
    </div>
    
    Всего этих самых повторяющихся атрибутов 4, но (!!!) при этом у товаров из одной категории варьируется кол-во атрибутов, то есть может быть, например, только цвет, артикул и цена. Само значение так же может принимать разные формы (пр: XXL либо 10х10см). А вывод нужен вот такой (Г - граница, А - атрибут) :

    Г 1 / А 1.1 / А 1.2 / А 1.3 / А 1.4 / цена / граница 2
    Г 1 / А 2.1 / А 2.2/ А 2.3 / А 2.4 / цена /

    Спасибо!
     
  2. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.267
    Root нравится это.
  3. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    9.641
    Город:
    Сочи
  4. freepowan

    freepowan New Member Пользователи

    Регистрация:
    20 янв 2018
    Сообщения:
    10
    Город:
    мск
    Спасибо, внимательно изучил.
    Но есть ли возможность сохранять в выводе позиции всех столбцов атрибутов в соответствующем порядке, даже если какие-либо из них отсутствуют? А на место отсутствующих класть пустую ячейку.

    Вариации атрибутов для товаров в рамках одной категории:
    1
    2018-02-03_07-48-10.jpg
    2
    2018-02-03_07-50-58.jpg

    И чтоб первый товар выводился:
    А1 / А2 /А3 / А4 /А5

    Второй:
    пусто / пусто / А3 / А4 / А5
    или, например, если отсутствует атрибут Размер, то: А1 /пусто / А3 / А4 / А5

    Всего атрибутов 5 и они неизменны (по названию, порядку и количеству) в рамках категории.

    Копаю вокруг макросов шаблона вывода..
     
  5. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    9.641
    Город:
    Сочи
    Проблемы нет.

    Макрос сам распределяет данные по нужным столбцам.

    Еще раз инструкция:
    Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
     
  6. freepowan

    freepowan New Member Пользователи

    Регистрация:
    20 янв 2018
    Сообщения:
    10
    Город:
    мск
    Разобрался, благодарю!
     
    Последнее редактирование: 4 фев 2018
    Root нравится это.
  7. freepowan

    freepowan New Member Пользователи

    Регистрация:
    20 янв 2018
    Сообщения:
    10
    Город:
    мск
    Не получается вывести следующим образом (либо зеркально, то есть H слева от таблицы с префиком):
    O d i n H1 H2
    O a m i
    O c v a
    O l u e

    O - префикс таблицы, а H - обычные границы парсинга, которые почему-то находятся на последней строке вместо первой.
    В справке по макросу DINAMICVALUES сказано, что его лучше размешать справа, но в этом случае строки таблицы располагаются не друг под другом, а начиная со второй съезжают на первые.

    Спасибо!
     
  8. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    9.641
    Город:
    Сочи
    Еще раз та же самая инструкция:
    Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!

     
  9. freepowan

    freepowan New Member Пользователи

    Регистрация:
    20 янв 2018
    Сообщения:
    10
    Город:
    мск
    Ещё раз тот же самый вопрос, извините..
    Один префикс должен быть SINGLEUSE, а другой обычным.

    Префикс Префикс2 Таблица
    .............Префикс2 Таблица

    Пробовал по-всякому, не получается..
    2018-02-06_16-50-04.jpg
    2018-02-06_16-48-11.jpg
     
    Последнее редактирование: 6 фев 2018
  10. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    9.641
    Город:
    Сочи
    Сделаю в течение двух дней.
     
  11. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    9.641
    Город:
    Сочи
    Здравствуйте.

    Замените файл Content Downloader.exe (в папке с программой) этим файлом:
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 1 постов.**
    2018-02-07_08-28-31.png
     
  12. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    9.641
    Город:
    Сочи
    Увидел еще один нюанс со смещением столбцов. Его постараюсь разрешить к вечеру.
     
  13. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    9.641
    Город:
    Сочи
    Проверил.

    Все ok

    2018-02-07_12-05-36.png
     
    xLime и Kreol нравится это.
  14. freepowan

    freepowan New Member Пользователи

    Регистрация:
    20 янв 2018
    Сообщения:
    10
    Город:
    мск
    Здравствуйте. Огромное спасибо за Ваше внимание и вашу поддержку.
    Уже очень близко: всё работает как нужно, если в OUTPUTONCE только один префикс, но если более, то таблица съезжает.

    2018-02-07_16-34-23.jpg
    2018-02-07_16-38-28.jpg

    Спасибо!!
     
  15. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    9.641
    Город:
    Сочи
    Пожалуйста.

    Будьте добры, приложите ваш файл проекта для теста (в программе: меню - файл - сохранить проект).

    Если не хотите публиковать его тут, можете выслать мне на почту (контакты -> Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме! )
     
  16. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    9.641
    Город:
    Сочи
    Замените содержимое шаблона вывода в вашем проекте на это:
    Код:
    [REPLACE("MARKER"{skip}"/MARKER"|{skip}[ONCE]{break}"MARKER"{skip}"/MARKER"|[CSVCS])][HORIZTABLE][PREFIX]"MARKER"<CD_GRAN_18!>[CSVCS]<CD_GRAN_13!>"/MARKER"[CSVCS]<CD_GRAN_1!>[/PREFIX]<CD_GRAN_17!>[/HORIZTABLE][/REPLACE]
    2018-02-07_19-02-54.png
     
  17. freepowan

    freepowan New Member Пользователи

    Регистрация:
    20 янв 2018
    Сообщения:
    10
    Город:
    мск
    А если однострочных префиксов перед таблицей с обычным префиксом не 2, а N?
     
  18. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    9.641
    Город:
    Сочи
    Вставлять в поиск-замену больше [CSVCS] (смотрите скриншот).
     

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