Предложения по улучшению программы

Тема в разделе "Развитие Content Downloader", создана пользователем Root, 13 мар 2010.

  1. gans

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

    Регистрация:
    21 апр 2014
    Сообщения:
    309
    Последнее редактирование: 1 фев 2018
  2. wEdgE1809

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

    Регистрация:
    1 сен 2017
    Сообщения:
    4
    Город:
    Москва
    Добрый день.
    Просьба добавить в лог парсинга столбец с временем парсинга конкретной страницы.
     
    Root и xLime нравится это.
  3. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Добрый день переформулируйте ваше предложение в более читабельное, а езе лучше приведите пример картинку.
     
  4. wEdgE1809

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

    Регистрация:
    1 сен 2017
    Сообщения:
    4
    Город:
    Москва
    Пример:
     

    Вложения:

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

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

    Регистрация:
    21 апр 2014
    Сообщения:
    309
    Добрый день!

    Хочу предложить маленькую плюшку. Иногда приходится парсить адреса сайтов. Часто полученный url содержит дополнительные страницы(Ссылки недоступны для гостей , Ссылки недоступны для гостей). Предлагаю макрос, который бы приводил адрес сайта к корню. Например, [TRIMTOROOT<CD_GRAN1>/TRIMTOROOT] привел бы ссылку вида Ссылки недоступны для гостей к Ссылки недоступны для гостей. Понятно, что можно сделать это и без дополнительного макроса, но было бы удобно!
     
  6. Root

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

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

    Вариаций типа default.aspx и home.html может быть сколько угодно много и их все сразу учесть нельзя. Не думаю, что запрашиваемая функция будет целесообразно.
     
    Kreol нравится это.
  7. gans

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

    Регистрация:
    21 апр 2014
    Сообщения:
    309
    А взять http:site.ru, а всё, что дальше, обрезать? Очень удобно. Собственно, я только предложил удобную, как мне кажется, плюшку.
     
    Root нравится это.
  8. elDen

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

    Регистрация:
    22 янв 2018
    Сообщения:
    18
    Город:
    Санкт-Петербург
    Привет, предлагаю реализовать функцию [INTTODATE]. Пример применения - вывод даты следующего дня от указанного.
    Код:
    [INTTODATE][DATETOINT(1)]28.02.2018[/DATETOINT][INTTODATE]
    01.03.2018
     
    Последнее редактирование: 5 фев 2018
    gans нравится это.
  9. napserious

    napserious Well-Known Member Пользователи Активирован

    Регистрация:
    16 окт 2015
    Сообщения:
    324
    Нету смысла, данную задачу можно решить путем чтения определенной строки макросом FILE, генерируете файл со всеми датами на целый год(приложил ниже файл со всеми датами на 2018-ый):

    Пример:
    Если INT_ID = 1,
    Код:
    [FILE(c:\dates2018.txt|[INT_ID]|1)]
    То он вернет вам 28.08.2018

    Если INT_ID = 2, вернет 01.03.2018

    Данные списки можете генерировать через Excel, пишите дату "01.01.2018" и тяните её вниз до нужной вам даты :)
     

    Вложения:

    • dates2018.txt
      Размер файла:
      3,6 КБ
      Просмотров:
      3
    xLime и Root нравится это.
  10. elDen

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

    Регистрация:
    22 янв 2018
    Сообщения:
    18
    Город:
    Санкт-Петербург
    Я правильно понимаю, что для решения этой задачи я должен
    1. предварительно (один раз) сгенерировать все даты (перекрывающие интересующий диапазон),
    2. при парсинге:
      1. вычислять разницу между [DATETOINT(1)]28.02.2018[/DATETOINT] (со смещением +1) и начальной датой в файле (прочитать [FILE(c:\dates2018.txt|1|1)])
      2. По полученному индексу вывести полученную строку?
    Т.е. это конструкция типа
    Код:
    [FILE(c:\dates2018.txt|[DATETOINT(0)]28.02.2018 [/DATETOINT]-[DATETOINT(0)][FILE(c:\dates2018.txt|1|1)] [/DATETOINT]|1)]
    Я не спорю, интересный финт. Но мне кажется
    Код:
    [INTTODATE][DATETOINT(1)]28.02.2018[/DATETOINT][INTTODATE]
    без всяких файлов приятней будет выглядеть.
     
  11. Root

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

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

    Специально разработал макрос для вашей задачи и сказал, что и куда вставлять. Вы опять куда-то в сторону уходите и усложняете себе путь. Зачем...
     
    napserious нравится это.
  12. elDen

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

    Регистрация:
    22 янв 2018
    Сообщения:
    18
    Город:
    Санкт-Петербург
    Не хочу показаться капризным, но мне непонятно то, что Вы реализовали. Я написал в теме.
     
  13. Colexc

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

    Регистрация:
    7 фев 2018
    Сообщения:
    18
    Город:
    Краснодар
    Здравствуйте! Есть возможность увеличить повторяющиеся границы с 5 до 10 ?
     
  14. Root

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

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

    Такой возможности практически нет (огромный труд, так как все функции тесно взаимосвязаны).

    Создайте тему с конкретной постановкой вашей задачи и я дам вам решение.
     
  15. Colexc

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

    Регистрация:
    7 фев 2018
    Сообщения:
    18
    Город:
    Краснодар
    Ок, понятно. Тогда подумаю пока как по другому можно будет сделать. Еще вопрос, а есть возможность сохранения шаблонов фильтров для сканера сайтов? Есть 3 сайта которые периодически надо сканить. Фильтры разные для каждого. Как можно автоматизировать процесс?
     
  16. xLime

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

    Регистрация:
    4 сен 2017
    Сообщения:
    401
    Не совсем ясна проблема.
    Для каждого сайта обычно создается отдельный проект *.cdp. В каждом проекте и сохраняете отдельные настройки для сайта (границы, фильтры и т.д.).
     
    napserious и elDen нравится это.
  17. Colexc

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

    Регистрация:
    7 фев 2018
    Сообщения:
    18
    Город:
    Краснодар
    А, понятно, спасибо. Подумал, что фильтры не привязаны к проекту, и не проверил. Тогда вопрос закрыт. Спасибо!
     
  18. elDen

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

    Регистрация:
    22 янв 2018
    Сообщения:
    18
    Город:
    Санкт-Петербург
    У меня было желание попросить такое под одну задачу, где несколько разных классов событий, отображенных в одной таблице на одной странице. Под каждый класс - разные границы парсинга. Пяти границ хватает только если использовать эту пятёрку отдельно на каждый класс события. Я создал отдельные проекты под каждый класс и все проекты собрал в планировщик, который поочерёдно парсит эту таблицу событий и результаты каждого проекта дозаписываются в csv с помощью [SAVETOFILE]. В первом проекте указано "предварительно очищать папку". Попробуйте, может под Вашу задачу подойдёт.

    Upd: Не была обновлена страница, повторился :)
     
    xLime нравится это.
  19. Colexc

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

    Регистрация:
    7 фев 2018
    Сообщения:
    18
    Город:
    Краснодар
    Вообще мне не хватает всего одной ) 6 повторяющихся классов на одной странице. Думал да создать второй проект куда недостающую дописать и дописать поле id чтобы связать с первым парсом. А про функцию дозаписи не знал, спасибо, поюзаю.
     
    napserious и Kreol нравится это.
  20. elDen

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

    Регистрация:
    22 янв 2018
    Сообщения:
    18
    Город:
    Санкт-Петербург
    Ещё находящиеся рядом данные можно записывать в одну повторяющуюся границу, а внутренней заменой подменять то, что их разделяет, на знак разделителя значений csv. Например, два значения 10:30<br>13:00 - в одну границу, с заменой
    Код:
    <br>|[CSVCS]
    . В выводе
    Код:
    ...[CSVCS]<CD_CYCLE_GRAN_4!>[CSVCS]<CD_CYCLE_GRAN_5!>
    дают ...,00:00,10:30,13:00 на одно значение больше!
     
    napserious, xLime и Root нравится это.

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