Удаление дублей в повторяющихся границах.

Тема в разделе "Решение проблем с использованием программы", создана пользователем babblosy, 7 авг 2014.

  1. babblosy

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

    Регистрация:
    8 янв 2013
    Сообщения:
    18
    Всем доброго времени суток.
    Столкнулся с проблемой.
    При сборе данных использую повторяющееся границу.
    При парсинге нескольких документов, между документами могут быть дубли каких то данных, например ссылок, можно ли сделать так чтобы данные, которые были ранее записаны в CSV файл больше не добавлялись.
     
  2. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.429
    Адрес:
    Latvia
    отсеять дубли парсер умееет только на основе уникальных ссылок, подключите текстовой файл

    [​IMG]
     
  3. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Удалять дубли строк можно после парсинга в редакторе CSV файлов (кнопка на панели инструментов). Удалять можно как дубли строк CSV, так и удалять дубли по определенным столбцам ("дубли каких то данных")...
     
  4. babblosy

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

    Регистрация:
    8 янв 2013
    Сообщения:
    18
    Спасибо за помощь:)
     
  5. recrut

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

    Регистрация:
    16 мар 2017
    Сообщения:
    45
    Немного другая ситуация, но тоже в рамках повторяющихся границ. В рамках этих границ есть несколько магазинов продающих один и тот же товар. Парсинг собирает файл закидывая в csv таблицу Наименование товара, название магазинов и соответственно цены предложенные ими. Однако, в результате возможной ошибки на сайте, один из магазинов может отображаться дважды. В результате в ячейку с ценой данные по магазину записывается дважды. На странице выглядит так: магазин1 9000, магазин2 10000, магазин2 10000, магазин3 11000. В файле получаем: магазин1 9000, магазин2 10000 10000, магазин 3 11000. Примерная стурктура таблицы: первый столбец наименование товара, остальные столбцы в заголовках содержат названия магазинов, а на пересечении в ячейках цены. На сколько я понимаю, один из макросов это решает, но какой именно лучше подходит и что им подсовывать в аргументы, не понимаю.
     
  6. kadishev1997

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

    Регистрация:
    27 мар 2019
    Сообщения:
    310
    Или проверяйте настройки повт. границ парсинга, т.к. такие дубли могут возникать из-за их неправильной настройки (с вероятностью 98% причина в этом), либо попробуйте использовать макрос [DELDUP]
     
    Root нравится это.
  7. Root

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

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

    Подумаю над реализацией функции удаления дублей циклов повторяющихся границ парсинга.
     
  8. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Замените файл Content Downloader.exe (в папке с программой) этим файлом:
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 12 постов.**
    2020-11-19_10-21-42.png
     
    kagorec нравится это.
  9. recrut

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

    Регистрация:
    16 мар 2017
    Сообщения:
    45
    Спасибо за поддержку. Было потрачено пару недель на поиск решения. Заменил файл, подправил проект. Вытащил данные, дублей нет, обрадовался. Проверил сайт, и на сайте дубли исчезли, хотя еще с утра, судя по логам они были. Поэтому еще раз большое спасибо за поддержку. Появится подобная ситуация, отпишу о работе CD.
     
    kagorec нравится это.
  10. recrut

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

    Регистрация:
    16 мар 2017
    Сообщения:
    45
    Добрый день. Дубли появились на сайте. В редакторе шаблона вставляю {NODUP}[VALUE][CC] в CSV получаю: Магазин1 20500, 1Магазин2 21500, 2Магазин2 21500. Убираю нумерацию, оставляю только {NODUP}[VALUE] в SCV получаю: Магазин1 20500, Магазин2 21500 21500. Насколько я понимаю [CC] показывает, что дубли есть, так как повторяющийся магазин нумеруется. Версия CD от 30 ноября. Что еще можно посмотреть?
     
    Последнее редактирование: 14 дек 2020
  11. Root

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

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

    Приложите проект с одной ссылкой, на которой видно описанную вами проблему.
     
  12. recrut

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

    Регистрация:
    16 мар 2017
    Сообщения:
    45
    скинул на почту.
     
  13. Root

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

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

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

    Регистрация:
    16 мар 2017
    Сообщения:
    45
    К сожалению, это одна из проблем сайта. Ответил на почту.
     
  15. Root

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

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

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

    Регистрация:
    18 май 2020
    Сообщения:
    12
    Город:
    Chernivci
    процентов 30 дублей при парсинге,
    парсинг простой заголовки и описания (поисковик), макрос [DUPIGNORE], оперативки хватает)
    Спасибо за {NODUP} попробую
     
  17. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    {NODUP}
     
  18. recrut

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

    Регистрация:
    16 мар 2017
    Сообщения:
    45
    Добрый день. Ошибка с дублями, но немного другая. Тоже имеем дублирующегося конкурента, но с различной ценой. Магазин1 20500, Магазин2 21500, Магазин2 20100, Магазин3 20000. Явная ошибка на сайте. На выходе имеем файл с значениями Магазин1 20500, Магазин2 21500 20100, Магазин3 20000. Так как таких ошибок не так много, мне достаточно, чтобы в файл попадала одна цена. Например последняя. {NODUP} работает, но если цена совпадает, если нет, то пропускает. Возможно я не верно подставляю ему значения. Прошу помочь.
     
  19. Root

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

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

    Попробуйте применить {NODUP} с заданным правилом поиск-замены Ссылки недоступны для гостей

    Правило поиск-замены в параметрах {NODUP} поможет отсечь лишнее и оставить только нужное для проверки на дубли.
     
  20. recrut

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

    Регистрация:
    16 мар 2017
    Сообщения:
    45
    Добрый день.
    Возможно я не понимаю, как это сделать. Но все выглядит вот так:
    ="магазин1"><div _ngcontent-sc339="" class="merchant--info"> (вырезал) class="merchant--price"> 22349₸
    ="магазин1"><div _ngcontent-sc339="" class="merchant--info"> (вырезал) class="merchant--price"> 21500₸
    ="магазин2"><div _ngcontent-sc339="" class="merchant--info"> (вырезал) class="merchant--price"> 21000₸
    в данном случае это три повторяющиеся границы как есть, за исключением того что вырезал много мусора из середины. забирается название из начала строки и в конце строки берется цена. Получаем в таблице название товара в строке, в заголовок столбца идет название магазина, на пересечении в ячейке цена. В данном случае для магазин1 в ячейку запишутся две цифры 22349 и 21500. Через {NODUP} либо ничего не меняется если я указываю смотреть на цену, так как по сути цена не дублируется, либо записывается только первый магазин, все остальные магазины отбрасываются, если я указываю смотреть на магазин. В случае, если цена одинаковая, все отрабатывает отлично.
    Подскажите пожалуйста, что передать в поиск замену макросу?
     

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