В повторяющихся границах появляются лишние разделители циклов

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

  1. kofe

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

    Регистрация:
    22 май 2019
    Сообщения:
    64
    <CD_CYCLE_GRAN_2!> - используется разделитель циклов "[CSVLB]" - все корректно работает.

    <CD_CYCLE_GRAN_1!> - все аналогично, только разделитель циклов "),(" для экспорта в базу. Первую страницу парсит корректно, перед второй (и каждой последующей) появляется множество лишних разделителей циклов. Пробовал поиском-заменой решить - ("{br}|" и др.) - не помогло.

    Прошу пояснить от куда они берутся и как их устранить.
     

    Вложения:

    • perenos.cdp
      Размер файла:
      40 КБ
      Просмотров:
      5
  2. Root

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

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

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Макрос [DUPIGNORE] удаляет циклы, разделители остаются. Удалить лишние разделители можно макросом поиск-замены [REPLACE]
    Код:
    [REPLACE(,()|)]<CD_CYCLE_GRAN_1!>[/REPLACE]
    Если экспорт в базу осуществляется с помощью макроса PHP_SCRIPT, используйте <PHP_SCRIPT_5> (так как он выполняется после макроса [REPLACE]).
     
  4. kofe

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

    Регистрация:
    22 май 2019
    Сообщения:
    64
    Проблема после первого и перед каждым последующим web документом. Если убрать из поиска-замены
    Код:
    {br}|
    , то получаем:

    upload_2019-6-10_12-21-46.png

    Используя
    Код:
    [REPLACE(,()|)]<CD_CYCLE_GRAN_1!>[/REPLACE]
    - остается один.

    upload_2019-6-10_12-21-50.png

    До экспорта дело не доходит, с экспортом проблем нет. Дубли переноса строк наблюдаю просматривая csv файл в текстовом редакторе после парсинга более одного web документа.

    Вопрос: от куда они беруться (как возникают) и как правильно "побороть"? Если понять как возникают может получиться красиво решить вопрос т. к. "REPLACE", поиск-замена и т. п. - это все-таки костыли на мой взгляд.
     

    Вложения:

  5. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Откуда они берутся, я вам пояснил выше. Увидеть ответ или нет - дело ваше.
     
  6. kofe

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

    Регистрация:
    22 май 2019
    Сообщения:
    64
    Как удалить последний-лишний перенос?

    Код:
    [REPLACE(,()|)]<CD_CYCLE_GRAN_1!>[/REPLACE]
    оставляет один.
     
  7. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Как-то поиск-заменой. У меня нет причины вникать в ваш проект и ее составлять. Дело то не благодарное.
     
  8. kofe

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

    Регистрация:
    22 май 2019
    Сообщения:
    64
    Как-то поиск-заменой не получается... )

    Да, только те что возникают при использовании "DUPIGNORE" удаляются используя "[REPLACE(,()|)]", но последний - "лишний перенос" все-таки остается. *Без использования "DUPIGNORE" все корректно работает - нет "лишнего переноса".

    Последний-"лишний перенос" похоже что возникает после REPLACE и поиск-замены, возможно из-за проблемы зацикливания при использовании опции "Контент", которую я описал тут: http://forum.sbfactory.ru/threads/parsing-s-ozon-ru.7478/#post-44213

    Прошу мне помочь, готов отблагодарить и/или заказать услугу, если софт в принципе может это решить. В другом случае люди столкнуться с те ми же вопросами, и в итоге так же как и я не смогут решить поставленную задачу...
     
    Последнее редактирование: 10 июн 2019
  9. kofe

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

    Регистрация:
    22 май 2019
    Сообщения:
    64
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 1 постов.**
     
    Последнее редактирование: 16 июн 2019

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