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

Discussion in 'Развитие Content Downloader' started by Root, Mar 13, 2010.

  1. gans

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

    Joined:
    Apr 21, 2014
    Messages:
    310
    Last edited: Feb 1, 2018
  2. wEdgE1809

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

    Joined:
    Sep 1, 2017
    Messages:
    4
    Город:
    Москва
    Добрый день.
    Просьба добавить в лог парсинга столбец с временем парсинга конкретной страницы.
     
    Root and xLime like this.
  3. Kreol

    Kreol Модератор Staff Member Модератор

    Joined:
    Jan 6, 2013
    Messages:
    2,666
    Добрый день переформулируйте ваше предложение в более читабельное, а езе лучше приведите пример картинку.
     
  4. wEdgE1809

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

    Joined:
    Sep 1, 2017
    Messages:
    4
    Город:
    Москва
    Пример:
     

    Attached Files:

    Kreol likes this.
  5. gans

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

    Joined:
    Apr 21, 2014
    Messages:
    310
    Добрый день!

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

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

    Joined:
    Mar 10, 2010
    Messages:
    14,818
    Город:
    Барнаул
    Здравствуйте.

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

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

    Joined:
    Apr 21, 2014
    Messages:
    310
    А взять http:site.ru, а всё, что дальше, обрезать? Очень удобно. Собственно, я только предложил удобную, как мне кажется, плюшку.
     
    Root likes this.
  8. elDen

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

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

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

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

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

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

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

    Attached Files:

    xLime and Root like this.
  10. elDen

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

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

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

    Joined:
    Mar 10, 2010
    Messages:
    14,818
    Город:
    Барнаул
    elDen, я не понимаю вас.

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

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

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

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

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

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

    Joined:
    Mar 10, 2010
    Messages:
    14,818
    Город:
    Барнаул
    Здравствуйте.

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

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

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

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

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

    Joined:
    Sep 4, 2017
    Messages:
    407
    Не совсем ясна проблема.
    Для каждого сайта обычно создается отдельный проект *.cdp. В каждом проекте и сохраняете отдельные настройки для сайта (границы, фильтры и т.д.).
     
    napserious and elDen like this.
  17. Colexc

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

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

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

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

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

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

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

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

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

Share This Page