Проблема с повторяющимися границами внутри повторяющихся границ

Тема в разделе "Границы парсинга", создана пользователем Aleksandr32, 23 сен 2019.

  1. Aleksandr32

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

    Регистрация:
    17 ноя 2018
    Сообщения:
    7
    Здравствуйте. Есть повторяющиеся границы. Например, вот одна из них (назову ее "главная"):
    -----------------------------------------------------
    <img src="/content/products/images/9775/89252.jpg?1568304272" alt="">
    <span class="not-avaible">Нет в наличии</span>
    </div>
    <div class="part-text">
    <div class="group-param first-param" style="width: 85px;">
    <div class="head-param">
    Артикул
    </div>
    <div class='text'>
    <span class="offer_article">00100118</span>
    <input type="hidden" class="vp-volume-prices" value="160" />
    <input type="hidden" class="vp-original-price" value="160" />
    </div>
    </div>
    <div class="group-param second-param" style="width: 130px;">
    <div class="head-param">
    Цвет
    </div>
    <div class='text'>
    Белый
    </div>
    </div>
    <div class="group-param four-param">
    <div class="head-param">
    Цена
    </div>
    <div class='text'>
    <span class="offer-price">160 ₽</span>
    </div>
    </div>
    <div class="param-status desctop-only">
    <span class="param-status__tag tag-not-avaible">Сообщить о наличии</span>
    </div>
    <input type="hidden" class="offer-id" value="13519">
    <input type="hidden" class="offer-amount" value="0">
    -------------------------------------------------------------------
    Нужно спарсить внутри "главной" артикул, цвет и цену. Добавляю три повторяющиеся границы (начало и конец парсинга выделено жирным):

    1) offer_article">00100118</span>

    2) Цвет
    </div>
    <div class='text'>

    Белый
    </div>

    3) offer-price">160 ₽</span>

    В окне настройки повторяющихся границ в "главную" вкладываю следующее:
    [CGRAN2][CSVCS][CGRAN3][CSVCS][CGRAN4]

    В итоге артикул и цена парсятся отлично, а вот цвет не парсится. Подскажите, пожалуйста, что я сделал не так?
     
  2. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    [CGRAN2][CSVCS][CGRAN3][CSVCS][CGRAN4] - так не должно быть. Почитайте справку по вложенным повт.границам
     
  3. Aleksandr32

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

    Регистрация:
    17 ноя 2018
    Сообщения:
    7
    Цитата из этой справки:
    У меня так и есть.
     
  4. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Это не значило что все границы должны иметь вид как вложенные и быть в одной повт.границе
    CGRAN использовать лучше один раз в повторяющееся границе.
     
  5. Aleksandr32

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

    Регистрация:
    17 ноя 2018
    Сообщения:
    7
    Какой же еще им иметь вид, если они и есть вложенные в одну повторяющуюся границу? И что мешает использовать CGRAN столько раз, сколько это нужно для получения результата?
    Ладно, на самом деле это всё не важно. Важно лишь следующее: почему CGRAN2 и CGRAN4 выдают то, что нужно, а CGRAN3 не выдает? При, казалось бы, равных условиях? Вот что интересно.
     
  6. aresa

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

    Регистрация:
    17 окт 2015
    Сообщения:
    180
    Здравствуйте!
    В данном случае лучше распариться, взяв обычные границы внутри повторяющейся
     
    Aleksandr32 нравится это.
  7. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Перенос строки в границе парсинга обозначается, как {br}
     
  8. Aleksandr32

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

    Регистрация:
    17 ноя 2018
    Сообщения:
    7
    Да, спасибо, так работает.
     

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