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

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

  1. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    11.307
    Если бы вы меньше думали вслух, я бы вам подсказал решение =)
    Давайте уважать друг-друга, ваши недовольства тут ни к чему...
     
  2. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    11.307
    1) Выполните предпросмотр парсинга контента;
    2) Закройте окно предпросмотра;
    3) Нажмите Ctrl+L и увидите там одну строку с документом, который вы "предпросматривали";
    4) Кликаете на него ПКМ -> "открыть папку с файлом";
    5) При следующем предпросмотре в этой же папке будут появляться новые документы, которые вы можете открывать двойным кликом.

    С уважением к вам, Сергей.
     
  3. Yuliko

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

    Регистрация:
    3 мар 2013
    Сообщения:
    46
    Закрытие программы

    Сделайте, пожалуйста, запрос перед закрытием... Уже несколько раз случайно нажала на крестик, и программа закрылась, а я не успела сохранить проект, так что пришлось всю работу делать заново (((

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

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

    Регистрация:
    6 янв 2013
    Сообщения:
    2.549
    Если вы закрываете проект, то при открытии нового у вас должна восстановиться последняя копия того что вы делали. И возьмите за привычку перед началом работы сразу же сохранять проекты.
     
  5. Root

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

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

    При закрытии программы все настройки сохраняются!!! Вы просто могли свернуть программу в трей и открыть новую копию (при сворачивании программы в трей сохранения настроек не происходит). Если не знаете, что такое трей - то это значки справа внизу.

    Теперь, что касается редактирования шаблона вывода при предпросмотре:
    - Можно делать предпросмотр результатов парсинга прямо из редактора шаблона вывода, нажав ctrl+q (LiveView)
    - Можно редактировать шаблон вывода прямо в окне предпросмотра (смотрите вкладку "шаблон вывода" в окне предпросмотра)

    С уважением к вам, Сергей.
     
  6. Фёдр

    Фёдр New Member Пользователи

    Регистрация:
    26 июн 2014
    Сообщения:
    1
    Возможно я что то упустил, но вот такой вопрос. Когда работает сканер сайтов нельзя ли сделать функцию сохранять страницы сайта, чтобы потом когда парсить сайт по отфильтрованным ссылкам брать из кеша для парсинга, а не по новой идти на сайт. Или это туфта? :)
     
  7. Kreol

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

    Регистрация:
    6 янв 2013
    Сообщения:
    2.549
    Такой бекап нужен только если к примеру сайт очень на плохом хостинге, и его тогда действительно проще таким способом, но там нужен денвер и много манипуляций.
    Так что не заморачивайтесь.
     
  8. 0pupentium

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

    Регистрация:
    18 июн 2012
    Сообщения:
    23
    Этот запрос не помешал бы во время процесса парсинга, а во время простоя программы он действительно ни к чему.
     
  9. Kreol

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

    Регистрация:
    6 янв 2013
    Сообщения:
    2.549
    Нет как раз во время он не нужен.
    Потому что если у вас изначально было например 1000 ссылок для работы, а в процессе он вдруг пересохранит, то где вы будете потом начальный список брать?
    А автозакрытие программы, возможно лишь когда у вас пропадает свет и нету упс-ки.
     
  10. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    3.604
    Город:
    Riga
    Тут в соседней теме человек спрашивал как насканировать 50.000.000 ссылок:laugh: трудно представить куда эти гигабайты хлама накапливать. По сути это только прибавит проблем.
     
  11. 0pupentium

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

    Регистрация:
    18 июн 2012
    Сообщения:
    23
    Kreol
    Я всего-то имел ввиду защиту от случайного закрытия программы при случайном нажатии на кнопку "х" во время парсинга или сканирования, а о чем вы - я не знаю.
     
  12. sepro

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

    Регистрация:
    8 авг 2014
    Сообщения:
    5
    Зачем так грубо опять?

    Решить Вы можете - сами писали об этом.

    Если бы Вы дали фрагмент кода, который отвечает за парсинг сайта, я бы мог Вам помочь доработать Программу работать более оптимально и более экономно использовать память.
     
  13. Benjamin Coleman

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

    Регистрация:
    23 окт 2010
    Сообщения:
    150
    Есть только один вариант для многомиллионных ссылок: это отказаться от TStringList для построения списка и кидать всё БД. Но это может осложнить работу неискушенным пользователям (то есть тут надо сразу продумать ещё и визуальное взаимодействие с БД).
     
  14. Kreol

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

    Регистрация:
    6 янв 2013
    Сообщения:
    2.549
    Для этого нужно очень СУПЕРСКИ знать SQL и все тонкости. Не обманывайтесь, это не все так просто.
     
  15. Benjamin Coleman

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

    Регистрация:
    23 окт 2010
    Сообщения:
    150
    Ну не знаю, допустим в БД несколько таблиц: каждая таблица - это отдельный список url; в таблице 2 столбца - инкремент и собственно url. Это минимальный набор, так сказать. Вот
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 1 постов.**
    , которую часто использую в работе с delphi. Технически, конечно, нужно будет продумать мини-интерфейс из CD.

    Даже можно попробовать sqlite - она файловая. А файл можно пихать прямо в проект. Ну или Firebird через ADO.
     
  16. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    11.307
    Как вы не понимаете )))

    БД будет на диске лежать! При запросе к БД будет хард напрягаться (хоть и незначительно). А запросов таких ну очень много!!! Потом повыкидываете винты, я могу ошибаться, конечно... Но ни с какими БД тут дело иметь не надо! Все ссылки должны быть в памяти...

    Если вам угодно, лучше просто напишите отдельную утилиту типа сканера сайтов...
     
  17. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    11.307
    В общем я уверен, что игры с БД для создания сканера - не хорошая затея (ну не годится БД для этого). Если кто видит в этом перспективу - пожалуйста, пишите утилиту... Потом все равно, думаю, вернетесь к хранению списков ссылок в памяти.
     
  18. Benjamin Coleman

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

    Регистрация:
    23 окт 2010
    Сообщения:
    150
    Windows уже много лет кеширует обращения к диску, с этим проблем нет. Да и тот же sqlite можно и памяти держать (файлик в несколько десятков мегабайт). Вопрос был не в БД, а именно в том, как избежать построения TStringList. Причем он, бывает, падает и на относительно небольшом количестве, если при этом сам урл очень длинный.

    Мне вообще лично не особо нужна эта функция, т.к. я в таких случаях дроблю список на проекты (тем более, что можно тогда работать в 250-300-450 потоков).

    Был бы API - я бы написал всякого :)
     
    Последнее редактирование: 22 авг 2014
  19. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    11.307
    Стринглист или Generic Collections (тоже как-то использовались в одной версии программы) жрут одинаковое количество памяти (хотя технология работы у них совершенно разная). Никаких сбоев, думаю, они давать не могут! Не наговаривайте, пожалуйста). Сбой может быть только в процессе Windows при переполнении квоты памяти!

    По поводу 250 - 300 - 450 потоков:
    Ну да, большие числа мы все любим, особенно шестизначные))). Но вот почему же Microsoft, чьими системами мы пользуемся, не рекомендует использование более 50 потоков =).

    Мало кто задумывался, как происходит переключение потоков). По сути в 1 момент времени выполняется один поток и Windows их вот так вот быстро-быстро переключает между друг-другом и у нас получается многопоточность (я могу ошибаться, но пришел я именно к этой мысли)!

    Сам же процесс переключения потоков (смены активного потока), как можно догадаться, тоже требует определенных ресурсов системы (а если потоков 300 или более). По этому, я считаю (опираясь на данные от Microsoft), что нет смысла использовать более 50 потоков.
     
  20. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    11.307
    Идея с БД и сканером сайтов, ну, я в ней смысла не вижу). Винт, конечно, может и не сгорит, как я писал выше, но скорость работы сканера на БД, по моим прогнозам, должна сильно упасть!

    По этому, я считаю, что лучше найти способ парсинга больших сайтов частями. Тем более, парсинг более 1 миллиона ссылок - задача очень и очень редкая (я, поверьте, знаю)!
     

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