Взять последнюю повторяющуюся границу

Discussion in 'Границы парсинга' started by nikoshot, Jul 13, 2018.

  1. nikoshot

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

    Joined:
    Jan 14, 2017
    Messages:
    115
    Добрый вечер! Ни как не могу разобраться.. есть блок с повторяющимися границами..
    <li><a href="Ссылки недоступны для гостей">bla-bla bla-bla</a></li>
    <li><a href="Ссылки недоступны для гостей">bla-bla bla-bla</a></li>
    <li><a href="Ссылки недоступны для гостей">bla-bla bla-bla</a></li>
    <li><a href="Ссылки недоступны для гостей">bla-bla bla-bla</a></li>
    <li><a href="Ссылки недоступны для гостей">bla-bla bla-bla</a></li>
    <li><a href="Ссылки недоступны для гостей">bla-bla bla-bla</a></li>
    Как можно настроить что бы бралась только последняя граница? А именно последний bla-bla bla-bla
    За ранее всем спасибо...
     
    Last edited: Jul 13, 2018
  2. kagorec

    kagorec Администратор Staff Member Администратор

    Joined:
    Jan 3, 2011
    Messages:
    4,442
    Location:
    Latvia
    Границей простой взять область кода где все картинки.
    Для этой границы в поиск-замена добавить такое
    Code:
    re:^.*<li>|<li>
    Эту границу назначить для повторяющиеся границы и выбирать картинку.
     
  3. nikoshot

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

    Joined:
    Jan 14, 2017
    Messages:
    115
    Добрый день! Что то не получилось...
    Я задал обычную границу граница-1 в <ul></ul> для нее в поиск замены добавил как вы сказали re:^.*<li>|<li>
    затем в повторяющиеся границу назначил обычную граница-1
    в повторяющейся границы настроил <li>начало и </li>конец
    И в выдаче у меня все равно все повторения...
    Может я что то не так делалл?
     
  4. xLime

    xLime Well-Known Member Супер Модератор Модератор

    Joined:
    Sep 4, 2017
    Messages:
    407
    Если вам нужна только одна последняя картинка, тогда зачем вам повторяющие границы?
    К обычной границе добавьте функцию замены:
    Code:
    <li>{get}|{get}
    [​IMG]
     
    nikoshot likes this.
  5. nikoshot

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

    Joined:
    Jan 14, 2017
    Messages:
    115
    Я сделал не совсем так ка вы сказали.. но идея ваша помогла, как всегда спасибо за помощь)
     
  6. trans5

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

    Joined:
    Sep 26, 2017
    Messages:
    66
    Город:
    екаеринбург
    Похожий вопрос возник, никак не могу решить помогите пож-та:
    На сайте разная вложенность товаров в категории. Где то 3 уровня каталога а где то 5
    Например тут 5-и уровневый каталог Ссылки недоступны для гостей
    а тут 3-уровневый Ссылки недоступны для гостей

    Надо взять только последний уровень каталога, в первой ссылке это Сковороды с антипригарным покрытием а во второй Садовые диваны

    Помогите плз.
     
  7. Djahat

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

    Joined:
    Jan 14, 2013
    Messages:
    543
    Город:
    Мордор
    Проект прикладывайте, помогу.
     
    Root likes this.
  8. trans5

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

    Joined:
    Sep 26, 2017
    Messages:
    66
    Город:
    екаеринбург
     

    Attached Files:

  9. Djahat

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

    Joined:
    Jan 14, 2013
    Messages:
    543
    Город:
    Мордор
    Можно так например:

    Взять весь контейнер с хлебными крошками в границу парсинга, а ее вот таким реверс гетом обработать через REPLACE
    {br2}|
    </li>{get}<span property="name">|{get}[REV]
    <{skip}>|
     

    Attached Files:

    trans5 and Root like this.
  10. trans5

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

    Joined:
    Sep 26, 2017
    Messages:
    66
    Город:
    екаеринбург
    Спасибо большое, работает
     
    Djahat likes this.
  11. Grushe

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

    Joined:
    Apr 10, 2014
    Messages:
    45
    Скажите, а вообще из повторяющихся границ можно просто вывести последний шаг цикла, не выводя первые шаги? Или все сводится к удалению кода первых шагов?
     
  12. Root

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

    Joined:
    Mar 10, 2010
    Messages:
    14,818
    Город:
    Барнаул
    Примените к повторяющейся границе макрос [REPLACE] для взятия последнего ее цикла.

    Code:
    РАЗДЕЛИТЕЛЬ ЦИКЛОВ{get}|{get}
     

Share This Page