Удалить дубли в повторяющейся границы и вывести максимально 6 циклов

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

  1. asuka111

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

    Регистрация:
    18 янв 2014
    Сообщения:
    24
    1.jpg 1 - копия.jpg

    Нужно спарсить такую страницу:

    <div>
    1. <p>Яблоко упало на землю</p>
    2. <p>Вишня упала на землю</p>
    3. <p>Яблоко упало на землю</p>
    4. <p>Малина упала на землю</p>
    5. <p>Яблоко упало на землю</p>
    6. <p>Яблоко упало на землю</p>
    7. <p>Груша упала на землю</p>
    8. <p>Яблоко упало на землю</p>
    9. <p>Яблоко упало на землю</p>
    10. <p>Мальчик играет с собакой</p>
    11. <p>Кажется дождик начинается</p>
    12. и т.д...
    </div>

    Если спарсить первые 6 результатов как указано в (MAX 6) так как мне больше 6 результатов не надо.
    я получаю:
    1. Яблоко упало на землю
    2. Вишня упала на землю
    3. Малина упала на землю
    Но к сожалению такие результаты как:
    1. Груша упала на землю
    2. Мальчик играет с собакой
    3. Кажется дождик начинается
    Останутся не задействованы... а хотелось бы их получить)

    Да если я укажу MAX 11 я получаю их - Но при парсинге уже следующей страницы часто бывает такое:

    1. <p>Яблоко упало на землю</p>
    2. <p>Вишня упала на землю</p>
    3. <p>Яблоко упало на землю</p>
    4. <p>Яблоко упало на землю</p>
    5. <p>Яблоко упало на землю</p>
    6. <p>Малина упала на землю</p>
    7. <p>Яблоко упало на землю</p>
    8. <p>Яблоко упало на землю</p>
    9. <p>Яблоко упало на землю</p>
    10. <p>Малина упала на землю</p>
    11. <p>Яблоко упало на землю</p>
    12. <p>Бабушка собрала грибы</p>
    13. <p>Птичка построила гнездо</p>
    14. <p>Собака покусала соседскую кошку</p>


    Спарсятся первые 11 строк - и результат парсинга будет "Ноль" (хотя на странице строки под номерами 12 , 13, 14 остались которые ещё не попали в [DUPIGNORE] ) Хотелось бы их парсить но тогда придётся указать MAX 14... а уже на следующей странице может получиться так что все строки Уникальные и в [DUPIGNORE] их нет - и они все 14 Спарсятся (и это будет слишком много...) ведь мне нужно не более 6 строк.

    Вопрос такой: Может ли повторяющаяся граница [DUPIGNORE][KEY]<p>[VALUE]</p><br>[/KEY][/DUPIGNORE] парсить максимум 6 строк с всей страницы, и в случае если она натыкается на Дубль, она его - пропускала и брала следующую строку до тех пор пока не спарсит 6 результатов.
     
    Последнее редактирование: 6 янв 2023
  2. Root

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

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

    Для такой задачи специальной функции нет. Пока не было нужды в ее реализации. Если потребуется, можно рассмотреть.

    Ваш вопрос можно решить и сейчас.

    Проект приложил.
     

    Вложения:

  3. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    2023-01-06_14-22-30.png
     
    sinoda нравится это.
  4. Root

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

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

    Вложения:

    asuka111 нравится это.
  5. asuka111

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

    Регистрация:
    18 янв 2014
    Сообщения:
    24
    Работает Благодарю:)

    но увы теперь [DUPIGNORE] жёстко косит всё...
    Если на странице было 20 результатов, а нужно спарсить только 6 - он спарсит 6, Но все 20 отправит в дубли)) (так как он по ним "прошолся" и ему без разницы, спарсил там или нет..) а эти 14 результатов могли бы участвовать при парсинге следующих страниц...
     
  6. Root

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

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

    Код:
    Значения [KEY] при парсинге каждого последующего WEB-документа не сбрасываются. Для сброса значений [KEY] вы можете поместить оператор [RESETDATA] в любое место макроса:
    
    1
    [DUPIGNORE][KEY]<CD_GRAN_1!>[/KEY]текст[RESETDATA][/DUPIGNORE]
    
     
  7. asuka111

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

    Регистрация:
    18 янв 2014
    Сообщения:
    24
    Да я почти сразу попробывал, в таком случае - он не сохраняет дубли в .тхт, а на последующих страницах парсинга - они будут...
    Оставлю как есть, и так хорошо.
     

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