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

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

  1. Root

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

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

    Данная опция, по моему мнению, не будет нести никакого положительного эффекта, так как прокси при парсинге берутся циклично (что и так позволяет использовать каждый отдельно взятый прокси из списка, как можно реже).
     
  2. Root

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

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

    В редакторе CSV есть возможность обрабатывать содержимое ячеек указанным PHP-скриптом. Так как реализацию взаимодействия с сервисом перевода мы не предоставляем, вы можете подключить свой PHP скрипт для перевода данных через нужный сервис.

    2020-04-16_08-27-17.png
     
  3. Denorion

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

    Регистрация:
    7 апр 2020
    Сообщения:
    52
    Город:
    Москва
    Добрый день!

    Да, настоящая логика понятна. Немного дополню предыдущий пост по поводу логики и желаемого результата.
    В настоящей логике ко всем ссылкам найденным на странице добавляется значение [PARAM] из текущего кода страницы. Например "Продукты". и если на этой странице найдены ссылки на подкатегории - "Бакалея", "Сендвичи" и пр. Ко всем найденным ссылкам добавится значение [PARAM] "Продукты". Здесь логика ясна. Все ссылки были найдены на странице "Продукты".
    Потом далее в глубину - На странице "Бакалея" найдены еще ссылки на подкатегории, например "Приправы", "Крупы" и пр., к этим ссылкам будет добавлен [PARAM] "Бакалея".

    Таким образом получится, что то вроде
    После прохождения ссылки "Продукты"
    link.ru/produkty[PARAM]:Продукты (К слову - тут пока не понятный для меня момент - первая (исходная) ссылка добавляется в найденные ссылки или нет. Или она добавляется только если будет найдена на одной из страниц)
    link.ru/bakaleya[PARAM]:Продукты
    link.ru/sendvichi[PARAM]:Продукты

    После прохождения ссылки "Бакалея"
    link.ru/pripravy[PARAM]:Бакалея
    link.ru/krupy[PARAM]:Бакалея

    Я совсем недавно пользуюсь программой и пока не все понимаю. При данной логике, я не нашел пока для своих целей практического применения. У меня сейчас нет задачи привязывать ссылки к странице, где они были найдены. Но есть задача сразу сформировать карту сайта при проходе сканером. Я бы хотел сразу получить и ссылку и категорию. Насколько я сейчас понимаю - это можно сделать, но для этого нужно второй проход по ссылкам запускать.

    Если возможно было бы присваивать значение [PARAM] только к текущей ссылке, то ссылки выглядели бы следующим образом.
    link.ru/produkty[PARAM]:Продукты
    link.ru/bakaleya[PARAM]:Продукты>Бакалея
    link.ru/sendvichi[PARAM]:Продукты>Сендвичи

    link.ru/pripravy[PARAM]:Продукты>Бакалея>Приправы
    link.ru/krupy[PARAM]:Продукты>Бакалея>Крупы

    Т.е. найденные ссылки добавляются в очередь, но значение [PARAM] присваивается им только после открытия этой ссылки.

    Из практического применения - можно формировать карту сайта по ходу сканирования сайта или категории.
    И например в дальнейшем брать ссылки только "конечных" категорий, глубже которых.

    Т.е. после такого прохода - для дальнейшего парсинга можно будет взять только ссылки категории - "Приправы" и "Крупы", но не брать ссылку на категорию выше "Бакалея"

    Или наоборот взять только верхние катеегории.
    Сейчас для привязки ссылки к определенной странице нужно пройти сканером сайта и потом второй раз непосредственно парсингом, что бы привязать к странице и потом еще раз уже взять нужную категорию и смотреть товары. В сканере сайта в любом случае все ссылки открываются и вся информация по привязке есть.

    Все вышеизложенное касается сайтов схожих по структуре с Маркетом, где все катеогории имеют свой ID и нет возможности понять вложенность категории в другую категорию по структуре ссылки.

    Извиняюсь за много текста.
    И хочу сказать, что сканер сайта + функции фильтрации + поиск-замена просто ВЕЛИКОЛЕПНЫЙ инструмент!

    Спасибо!
     
  4. kenny872012

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

    Регистрация:
    18 фев 2018
    Сообщения:
    313
    Здравствуйте. Часто попадаются сайты с защитой email адресов Cloudflare Email Protection. Есть предложение добавить макрос для декодирования Cloudflare Email Protection.
    Допустим в коде страницы Ссылки недоступны для гостей есть email, при get запросе отображается как 22694d414a4b47547072625057514a5b46504d0c5057

    На JS например это будет выглядеть так:

    function cfDecodeEmail(encodedString) {
    var email = "", r = parseInt(encodedString.substr(0, 2), 16), n, i;
    for (n = 2; encodedString.length - n; n += 2){
    i = parseInt(encodedString.substr(n, 2), 16) ^ r;
    email += String.fromCharCode(i);
    }
    return email;
    }

    console.log(cfDecodeEmail("22694d414a4b47547072625057514a5b46504d0c5057"));


    В результате получим KochievRP@rushydro.ru


    И еще вопрос, планируется ли встраивать кроме работы с php, работу с javascript в программу или подключение nodeJS библиотек, что бы можно было самому обработать какую то часть кода с помощью js, например вместо поиск замены или в шаблоне вывода? Было бы удобно т.к. для работы с js не надо размещать скрипты на сервере.
     
    Последнее редактирование: 16 апр 2020
    Virtuoz, Dron25 и Root нравится это.
  5. Octavian

    Octavian Active Member Пользователи

    Регистрация:
    8 ноя 2016
    Сообщения:
    177
    Здравствуйте
    В данный момент задача под которую хотел использовать эту функцию решена.
    Свое предложение написал исходя из практических выводов парсинга одного портала. Задачей было спарсить несколько десятков тысяч ссылок с эмуляцией в СЕФ, в наличии было 100 серверных прокси. После пары тысяч ссылок они быстро попали в бан, нужный код перестал грузится, документ не сохранялся (включена обязательная граница). В менеджере прокси перемешивал вручную в контекстном меню и запускал парсинг снова. Хватало на 500-1000 ссылок и снова бан. Опять перемешивал и запускал и тд. Вот так и спарсил.
    Возможно на сайте какой то алгоритм вычисляет последовательность айпи. Автоматическое миксирование проксей могло бы пригодится для подобных сайтов.
     
    Root нравится это.
  6. Octavian

    Octavian Active Member Пользователи

    Регистрация:
    8 ноя 2016
    Сообщения:
    177
    Дополню предыдущее сообщение.
    Возможно играет роль, что в пакете уникальных айпи было менее десятка, которые различались портами. Но много продавцов прокси именно так и формируют пакеты.
     
    Root нравится это.
  7. Serheo

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

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    Вот идея появилась. А неплохо было бы, чтоб CD оповещения на почту присылал о завершении парсинга. Конечно там есть примерное время окончания парсинга, но приходится или периодически проверять или просто можно про него забыть. А так вбил в настройках доступ к SMTP и целевой ящик, а CD на него письмецо по завершению задания отправил бы.
     
  8. Denorion

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

    Регистрация:
    7 апр 2020
    Сообщения:
    52
    Город:
    Москва
    Добрый день! Если подойдет php, то после окончания парсинга можно выполнить php скрипт с отправкой почты.
    По настройке http://forum.sbfactory.ru/threads/opoveschenie-o-pojavlenii-dannyx-na-stranice.1976/#post-10678
    Ссылки недоступны для гостей
     
    Root нравится это.
  9. Serheo

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

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    В самом CD конечно это было бы изящнее, но через скрипты тоже вариант. Спасибо за идею!
     
  10. Denorion

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

    Регистрация:
    7 апр 2020
    Сообщения:
    52
    Город:
    Москва
    Добрый день! Нет возможности остановить зацикленный скрипт. Если скрипт предполагает запуск только с открытым окном WBApp и если его случайно запустить без галочки отображения - то он может зацикливаться и отключить его нет возможности. Он в фоне в цикле постоянно работает. Пример в аттаче - если его запустить без открытия окна WBApp. Как нибудь можно останавливать или только через диспетчер задач?
     

    Вложения:

  11. inotoxic

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

    Регистрация:
    13 сен 2015
    Сообщения:
    868
    Приветствую
    Делайте проверку по условию, и прерывайте выполнение
     
  12. Denorion

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

    Регистрация:
    7 апр 2020
    Сообщения:
    52
    Город:
    Москва
    Добрый день! Не нашел ветки по форуму. В настоящий момент форум закрыт для регистрации новых пользователей без кода из самой программы. В связи с этим те, кто находится на форуме автоматически являются владельцами программы и автоматически +- понимают как с ней работать. Есть так же интересующиеся, которые возможно не хотят покупать программу, но хотя заказать парсинг. Не могу сказать много таких или мало. Но так или иначе - может быть имел бы смысл открыть регистрацию без кода из программы, но с ограничениями на форуме. Все формумы остаются закрытыми - ссылки /вложения / возможность отвечать в темах. Но открыть только ветку с платными заказами и тоже с ограничениями - что бы видеть ссылки и вложения пользователь мог только в своей созданной теме, в остальных темах все, как и везде закрыто. Возможно это стало бы определенной подпиткой для спецов в этом деле. Выношу на повестку.
     
  13. inotoxic

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

    Регистрация:
    13 сен 2015
    Сообщения:
    868
    Приветствую
    На главной странице сайта есть Ссылки недоступны для гостей на раздел, с контактами спецов по парсингу
     
    kagorec нравится это.
  14. pijonz

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

    Регистрация:
    10 июн 2017
    Сообщения:
    28
    Здравствуйте. Добавьте, пожалуйста, диалоговое окно, при запуске редактора csv, "Загружать последний файл?(да,нет) ". Чтобы можно было выбрать открыть с пустым документом или он подгружал последний. Просто после обработки больших документов, когда по новой запускаешь , очень долго ждать пока подгрузить последний, а отменить подгрузку нельзя. Спасибо.
     
    kagorec и kadishev1997 нравится это.
  15. Denorion

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

    Регистрация:
    7 апр 2020
    Сообщения:
    52
    Город:
    Москва
    Добрый день!
    Сделайте поддержку макросами [IF] и [VAR] - PHP скриптов. Сейчас если вставлять в эти макросы ответ от PHP скрипта, то ничего не работает.
    Такая конструкция не работает
    [IF1]<PHP_SCRIPT=Ссылки недоступны для гостей

    Спасибо
     
  16. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.433
    Адрес:
    Latvia
    Анализируйте лог при предосмотре чтоб выявить порядок выполнения макросов.
    В вашем случае все перепутано, поскольку правильнее будет использовать номера макросов в корректном порядке: IF2, PHP_SCRIPT_3
     
    Denorion нравится это.
  17. Love-world

    Love-world Member Пользователи

    Регистрация:
    19 июл 2013
    Сообщения:
    102
    Wbapp cef не работает с локальными файлами веб страниц
     
  18. Denorion

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

    Регистрация:
    7 апр 2020
    Сообщения:
    52
    Город:
    Москва
    Добавьте возможность подгружать стоп/ключевые слова в макрос {CFILTER} через [FILE_F(C:\folder\file.txt|1|1000000)] или через значение [PARAM] в ссылках.
    Спасибо!
     
  19. Denorion

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

    Регистрация:
    7 апр 2020
    Сообщения:
    52
    Город:
    Москва
    Подумалось сегодня, что поддержка встроенного PHP решила бы все. Потом осекся и подумал, что все, кому это могло понадобиться уже думали над этим и если это не реализовано до сих пор, то это потому, что техническине возможно это реализовать.

    Нельзя ли, как то интегрироваться с Denwerом или с подключаемым ftp для исполнения скриптов? Что бы код работал работал прямо из шаблона. <?php CODE ?> срабатывает в любом месте шаблона и в любом макросе. Не нужно подбирать порядок выполнения - как только встретился код PHP - происходит его выполнение .

    Эта мысль исходит из мысли выше - о том, что нельзя фильтровать в CFILTER по средствам подключаемых файлов или передаваемых параметров - все только вручную прописывать нужно.

    Даже если добавить функционал в CFILTER - это не изменит кардинально картину.

    Проблема с внешними скриптами еще в сложности передачи результатов из скрипта в скрипт - постоянно нужно велосипед придумывать.

    У CD просто великолепный накопленный арсенал инструментов! Поддержка PHP в самой программе сделала бы их использование значительно гибче. Очевидный плюс использования PHP в самой программе возможность передавать данные из одного скрипта к другому по ходу их выполнения по средствам глобальных переменных. И сделало бы возможным писать код проекта премущественно в PHP и использовать данные полученные мощного инструментария CD. На мой взгляд такая возможность значительно/кратно расширила бы возможности CD. Если реализовать получение данных в самом коде PHP от встроенных в CD инструментов, это переворачивает принцип использования.
     
    xgguy нравится это.
  20. pijonz

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

    Регистрация:
    10 июн 2017
    Сообщения:
    28
    Пользуюсь очень часто редактором CSV, для обработки файлов удобнейший инструмент, можно его отдельным продуктом продавать !!!

    Еще к просьбе выше хотелось бы попросить добавить в инструмент "разбить csv на несколько..." , вкладка "по названиям рубрик", чекбокс удалить столбец(изобразил на скрине Ссылки недоступны для гостей), чтобы во время деления по столбцу , столбец по которому идет деление удалялся. Спасибо
     
    Root нравится это.

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