Парсинг актуальных размеров товара

Тема в разделе "Решение различных задач по парсингу", создана пользователем kucher32, 5 янв 2023.

  1. kucher32

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

    Регистрация:
    18 сен 2022
    Сообщения:
    10
    Город:
    ALANYA
    Настроил парсинг размеров с сайта
    Код:
    `
    <li class="">
    <a href="#"
    class="js-variant disabled"
    data-name="integration_size" data-value="32" data-isvariant="true"
    data-pk="36928">


    32
    </a>
    </li>



    <li class="">
    <a href="#"
    class="js-variant disabled"
    data-name="integration_size" data-value="34" data-isvariant="true"
    data-pk="36929">


    34
    </a>
    </li>



    <li class="">
    <a href="#"
    class="js-variant "
    data-name="integration_size" data-value="36" data-isvariant="true"
    data-pk="725">


    36
    </a>
    </li>



    <li class="">
    <a href="#"
    class="js-variant disabled"
    data-name="integration_size" data-value="38" data-isvariant="true"
    data-pk="730">


    38
    </a>
    </li>



    <li class="">
    <a href="#"
    class="js-variant disabled"
    data-name="integration_size" data-value="40" data-isvariant="true"
    data-pk="728">


    40
    </a>
    </li>



    <li class="">
    <a href="#"
    class="js-variant disabled"
    data-name="integration_size" data-value="42" data-isvariant="true"
    data-pk="727">


    42
    </a>
    </li>



    <li class="">
    <a href="#"
    class="js-variant disabled"
    data-name="integration_size" data-value="44" data-isvariant="true"
    data-pk="36922">


    44
    </a>
    </li>



    <li class="">
    <a href="#"
    class="js-variant disabled"
    data-name="integration_size" data-value="46" data-isvariant="true"
    data-pk="36932">


    46
    </a>
    </li>



    <li class="">
    <a href="#"
    class="js-variant disabled"
    data-name="integration_size" data-value="48" data-isvariant="true"
    data-pk="36934">


    48
    </a>
    </li>



    <li class="hidden--mv">
    <a href="#"
    class="js-variant disabled"
    data-name="integration_size" data-value="50" data-isvariant="true"
    data-pk="36930">


    50
    </a>
    </li>
    `
    Вывожу так :
    `
    [BREADCRUMBS(</a>||:||0||1)]<CD_CYCLE_GRAN_3!>[/BREADCRUMBS]
    `
    результат получаю вида: 32:34:36:38:40:42:44:46:48:50

    Подскажите как не парсить размеры где в коде есть-`class="js-variant disabled"`
    для того что бы иметь только актуальные размеры.
     
  2. Root

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

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

    Задайте повторяющуюся границу с началом
    Код:
    class="js-variant "{skip}>
    И концом
    Код:
    </a>
     
  3. kucher32

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

    Регистрация:
    18 сен 2022
    Сообщения:
    10
    Город:
    ALANYA
    Такая конструкция `class="js-variant "` встречается еще в коде сайта.
    Как ограничиться рамками списка
    <ul class="product__variant--variables cf" data-type="plain">
    и не выходить за его пределы.
     
  4. Root

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

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

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

    Регистрация:
    18 сен 2022
    Сообщения:
    10
    Город:
    ALANYA
    Без пояснений не могу разобраться,
    Создал границу "Размеры" с началом <ul class="product__variant--variables cf" data-type="plain"> и концом [AUTO]ul

    Затем в настройках "Повторяющихся границ " выбрал зону "Размеры" результат - ноль (пусто)
     
  6. Root

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

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

    Проблема в другом.

    Приложите файл проекта, посмотрю.
     
  7. kucher32

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

    Регистрация:
    18 сен 2022
    Сообщения:
    10
    Город:
    ALANYA
    Проблема была в каком то пробеле, заново повторяющиеся границы установил и все заработало.
    Спасибо большое!
     
    Root нравится это.
  8. kucher32

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

    Регистрация:
    18 сен 2022
    Сообщения:
    10
    Город:
    ALANYA
    Здравствуйте, опять возвращаюсь к теме.
    Помогите забирать только актуальные размеры код:
    Код:
            <ul data-js="size-options">
                    <li>
                        <a title="34" class=" "
                           data-stock="2"
                           data-spec2="118324" data-product-p="2.474,25" data-js="size-item">34</a>
                    </li>
                    <li>
                        <a title="36" class=" "
                           data-stock="2"
                           data-spec2="118323" data-product-p="2.474,25" data-js="size-item">36</a>
                    </li>
                    <li>
                        <a title="38" class=" "
                           data-stock="3"
                           data-spec2="118335" data-product-p="2.474,25" data-js="size-item">38</a>
                    </li>
                    <li>
                        <a title="40" class="no-stock "
                           data-stock="0"
                           data-spec2="118322" data-product-p="2.474,25" data-js="size-item">40</a>
                    </li>
                    <li>
                        <a title="42" class="no-stock "
                           data-stock="0"
                           data-spec2="118332" data-product-p="2.474,25" data-js="size-item">42</a>
                    </li>
            </ul>
    задача спарсить только размеры с переменной data-stock="2" (data-stock="больше 0 ")
    сейчас парсятся все размеры типа 34:36:38:40:42 но 40:42 нет в наличии и они не нужны,
     
  9. Root

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

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

    Ограничьте область поиска циклов повторяющейся границы так Ссылки недоступны для гостей

    И задайте начало повторяющейся границы - class=" "{skip}>
    Конец - </a>
     
    kucher32 нравится это.

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