DOCNAME Папка сохранения

Тема в разделе "Решение различных задач по парсингу", создана пользователем jozess, 5 дек 2017.

  1. jozess

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

    Регистрация:
    19 дек 2010
    Сообщения:
    122
    Пол часа мучаюсь, то папка создается лишняя, то в ней еще подпапка, то выходной файл в коревой проекта создается, иногда нет, вобщем одна каша.

    В <CD_GRAN_20!> название сайта - site.ru

    Нужно сохранить в таком формате:

    CD-парсинг/site.ru/Неспарсенные.txt и
    CD-парсинг/site.ru/site.ru_05_12_2017_04_32_34.csv

    На данный момент Неспарсенные.txt создается в папке CD-парсинг/site.ru/Неспарсенные.txt - все ок)

    а вот другой файл в CD-парсинг/site.rusite.ru_05_12_2017_04_32_34.csv

    Код:
    
    .......[ELSETEXT][SAVETOFILE:<CD_GRAN_20!>/Неспарсенные.txt{add}{norewrite}{notcsv}]<CD_DOCURL!>[/SAVETOFILE][/CHECKENTRY]
    
    [DOCNAME][CLEAR][TRANSLITE][NOFOLDER][UNIQUE]<CD_GRAN_20!>/<CD_GRAN_20!>_[CD_DATE_DD]_[CD_DATE_MM]_[CD_DATE_YYYY]_[CD_DATE_HH]_[CD_DATE_NN]_[CD_DATE_SS].csv[/DOCNAME] 
     
  2. xLime

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

    Регистрация:
    4 сен 2017
    Сообщения:
    401
    Добрый день.
    Попробуйте обратный слеш.
    Код:
    <CD_GRAN_20!>\<CD_GRAN_20!>
     
  3. jozess

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

    Регистрация:
    19 дек 2010
    Сообщения:
    122
    Первым дело было сделано, без результата.
     
  4. xLime

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

    Регистрация:
    4 сен 2017
    Сообщения:
    401
    Проверьте используемые атрибуты для макросов.

    Ссылки недоступны для гостей
     
    Последнее редактирование: 5 дек 2017
  5. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Когда указываете границу в макросе названия сохраняемого документа - учитывайте чтоб потом не попадалось слешей.
    Каждый попавшийся слешь указывает программе что это подпапка
     
  6. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Поиск-заменой в границе парсинга (которая задает имя папки или что там) удалите поиск-заменой (в окне ctrl+4) все слеши и обратные слеши:
    Код:
    /|
    \|
     
  7. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Также в макросе [DOCNAME] вижу у вас параметр
    [NOFOLDER] (с ним папки не создаются!) Сохранение результата парсинга будет производиться в папку сохранения контента.

    Папку и подпапку создавал у вас макрос [SAVETOFILE] так как в границе 20 попадались слеши или обратные слеши. Решение для обхода этого в предыдущем моем посте.

    Ссылки недоступны для гостей ([DOCNAME])
     
  8. jozess

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

    Регистрация:
    19 дек 2010
    Сообщения:
    122
    Парсинг локальный. И в <CD_GRAN_20!> - не может быть слешей на 1000% т.к адрес сайта я прописываю вручную.

    Сделал я так, опять каша. Теперь проблема с Неспарсенные.txt
    Код:
    
    .....[ELSETEXT][SAVETOFILE:<CD_GRAN_20!>\Неспарсенные.txt{add}{norewrite}{notcsv}]<CD_DOCURL!>[/SAVETOFILE][/CHECKENTRY]
    [DOCNAME][UNIQUE]<CD_GRAN_20!>\<CD_GRAN_20!>_[CD_DATE_DD]_[CD_DATE_MM]_[CD_DATE_YYYY]_[CD_DATE_HH]_[CD_DATE_NN]_[CD_DATE_SS].csv[/DOCNAME] 
    Сохранение результата в программе указано d:\CD-парсинг\

    d:\CD-парсинг\site.ru\site.ru\Неспарсенные.txt и
    d:\CD-парсинг\site.ru\site.ru_05_12_2017_04_32_34.csv

    Протестировал с заменой:
    [REPLACE(/|{break}\|)]<CD_GRAN_20!>[/REPLACE] - Аналогичный результат.
    -------------------------------------------------------------------
    Хм, странно, сделал так: Удалил из SAVETOFILE - <CD_GRAN_20!>:

    .....[ELSETEXT][SAVETOFILE:Неспарсенные.txt{add}{norewrite}{notcsv}]<CD_DOCURL!>[/SAVETOFILE][/CHECKENTRY]
    [DOCNAME][UNIQUE]<CD_GRAN_20!>\<CD_GRAN_20!>_[CD_DATE_DD]_[CD_DATE_MM]_[CD_DATE_YYYY]_[CD_DATE_HH]_[CD_DATE_NN]_[CD_DATE_SS].csv[/DOCNAME] [/CODE]

    Все работает)))))
    Но как так? [SAVETOFILE:Неспарсенные.txt - по идее должно ложить файл в d:\CD-парсинг\Неспарсенные.txt
    Получается, SAVETOFILE будет руководствоваться папкой которая задана в DOCNAME ?
     
    Последнее редактирование: 5 дек 2017
  9. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    В вашем случае нужно указать абсолютный путь для [SAVETOFILE] (c:\\...\1.txt)
     
    jozess нравится это.

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