Опубликовано 27 апреля, 200818 г ... Прочитал и понял, что получилось несистемно - пробую еще раз. :smile7: Можно написать скрипт (лучше группу скриптов на Perl или другом языке - например, Питоне :smile5: ) , который с помощью бибилиотек или внешних утилит (curl, wget и т.д.) делает следующее для каждого заданного ресурса: 1. Сбор веб-страниц по группе заданных для этого ресурса поисковых запросов или начиная с группы указанных для этого ресурса URL на указанную глубину (с возможностью группы исключений из сбора по типу файла или маске URL - можно и скрипт для обработки страниц конкретного сайта делать, если так удобнее). 2. Расчет для каждой собранной страницы контрольной суммы, сохранение ее в специальномй файле(dbm?) и выявление новых страниц. Обработка только новых страниц (нет в списке уже обработанных страниц) или тех, у которых изменилась контрольная сумма. 3. Выделение из страницы информационных блоков (ищутся на странице с помощью регулярных выражений, задаваемых для каждого сайта с помощью конфигурационного файла ) и сохранение как оригинальной веб-страницы, так информационных блоков (как в HTML, так и в текстовом виде). 4. Создание отчета о сканировании в виде html-страницы со ссылками на найденные информационные блоки и веб-страницы и ссылкой на информацию о домене с помощью веб-интерфейса к WHOIS (можно сохранять в виде отдельного файла) 5. Протоколирование всех действий на предыдущих этапах и сохранение журнала (можно давать ссылку на него в отчете о сканировании) А можно я попробую на совсем простом языке высказаться? И если чего то не так то поправьте. 1-возможность работы программы по команде, по расписанию, по событию. 2-просмотр указанных страниц с возможностью перехода по ссылкам на выбранную глубину. 3-выявление изменений (в т.ч. и по ключевым словам) на отсмотренных страницах по сравнению с предыдущим посещением и возможность исключить из контроля некоторые изменение (счетчик там или еще что), сохранение отсмотренных страниц во внутреннюю базу данных (с выделением изменений и/или ключевых слов), глубина сохранения должна выбираться пользователем + возможность работы с этой базой (поиск (в т.ч. и простые операторы), сравнение, последовательный просмотр, фильтры и т.п.) + создание отчета об изменениях на страницах. 4-выявление стабильных информационных блоков (в т.ч. RSS) и сохранение в отдельной базе данных + работа с этой базой по аналогии с базой сохраненных страницам. Настройка должна быть максимально упрощена :smile19: 5-ведение журнала действий программы. 6- еще возможность работы и с запароленными ресурсами- когда нужно ввести логин/пароль 7-возможность создания и работы с несколькими базами страниц и инфо-блоков и "горячее" переключение между ними. 8-возможность формирования отчета путем выделения нужных фрагментов текста и дальнейшее сохранение в общем файле (это не плохо реализовано в Сайт-Спутнике. Скорее всего то же что и вы написали, но мне так понятнее :smile1: Изменено 27 апреля, 200818 г пользователем Иоанн
Опубликовано 27 апреля, 200818 г А можно я попробую на совсем простом языке высказаться? И если чего то не так то поправьте. 1-возможность работы программы по команде, по расписанию, по событию. По команде (вручную) - понятно. По расписанию - можно с точностью до минуты и несколько раз в сутки (например, с помощью http://www.nncron.ru/). Только GUI нет - надо будет модифицировать конфигурационный файл. А вот что такое событие - объясните :smile3: 2-просмотр указанных страниц с возможностью перехода по ссылкам на выбранную глубину. Как насчет исключений и отсечения части ссылок? Вопросы на эту тему уже поднимались. 3-выявление изменений (в т.ч. и по ключевым словам) на отсмотренных страницах по сравнению с предыдущим посещением и возможность исключить из контроля некоторые изменение (счетчик там или еще что), сохранение отсмотренных страниц во внутреннюю базу данных (с выделением изменений и/или ключевых слов), глубина сохранения должна выбираться пользователем + возможность работы с этой базой (поиск (в т.ч. и простые операторы), сравнение, последовательный просмотр, фильтры и т.п.) + создание отчета об изменениях на страницах. Что значит изменение "по ключевым словам"? А для исключения из контроля изменений можно выделять на странице рекламные блоки (с помощью регулярных выражений) или наоборот ограничивать информационную часть страницы. По поводу глубины сохранения - об этом уже написано в п.2 Или это что-то другое? Насчет работы с базой - нужна какая-то база, поддерживающая SQL-запросы, чтобы организовать все запрошенное по поиску. Первый вариант - MYSQL (бесплатный и есть ряд готовых утилит по поиску в таблицах). 4-выявление стабильных информационных блоков (в т.ч. RSS) и сохранение в отдельной базе данных + работа с этой базой по аналогии с базой сохраненных страницам. Настройка должна быть максимально упрощена :smile19: Это-то понятно. Только база будет общая - просто сохраненные страницы будут храниться в одних таблицах, а инф. блоки - в других. А с настройкой для конкретных сайтов все рано буду проблемы - предлагаю публиковать в отдельной ветке примеры с анализом, чтобы на них учиться и публиковать (или в личку :smile3: ) проблемные сайты и, конечно, бибилиотека шаблонов дл сайтов, как я уже предлагал. 5-ведение журнала действий программы. Согласен. 6- еще возможность работы и с запароленными ресурсами- когда нужно ввести логин/пароль Это просто - если использовать утилиты типа wget(http://vap.org.ru/wget/05-00.shtml), то проблем не будет - см. http://vap.org.ru/wget/05-02.shtml#http_options про поддержку паролей. 7-возможность создания и работы с несколькими базами страниц и инфо-блоков и "горячее" переключение между ними. Да ради бога - задаем в конфигурационном файле имя базы данных. 8-возможность формирования отчета путем выделения нужных фрагментов текста и дальнейшее сохранение в общем файле (это не плохо реализовано в Сайт-Спутнике. Скорее всего то же что и вы написали, но мне так понятнее :smile1: Не понял - кто и как будет выделять фрагменты. :smile5:
Опубликовано 27 апреля, 200818 г А вот что такое событие - объясните :smile3: Это привязать запуск к какому нить событию на компе - например "запуск винды" или "запуск ослика или еще к чему. Хотя наверное не принципиально :smile2:
Опубликовано 27 апреля, 200818 г Это привязать запуск к какому нить событию на компе - например "запуск винды" или "запуск ослика или еще к чему. Хотя наверное не принципиально :smile2: событие событию рознь :smile1: в Windows входит штатный планировщик задач - Accessories/System Tools/Sheduled_Tasks с его помощью можно запустить программу автоматически, когда запускается windows или пользователь входит в систему. я не искал специально - но думаю, что можно найти 3rd party планировщик , в котором есть что-то подобное. поискать? запуск вместе с осликом - можно написать bat-файл, с помощью которого запускать параллельно несколько программ (и сборщика в том числе). а потом можно сделать ярлык этого bat-файла :smile3: не забывайте - моя цель не сделать программу-монолит, а применив типичный подход Unix - собрать нужную функциональность с помощью группы программ. :smile14: на самом деле возможности автоматизации в Windows достаточно большие - вот мы с ними и ознакомимся :smile19: Изменено 27 апреля, 200818 г пользователем Vinni
Опубликовано 29 апреля, 200818 г Нда... судя по активности участников это мне одному и надо :smile2: Vinni, может тогда в индивидуальном порядке?
Для публикации сообщений создайте учётную запись или авторизуйтесь