- Spider webs on windows
- Обновление SpIDer Agent for Windows в продуктах Dr.Web 11.5 для Windows и Dr.Web Enterprise Security Suite 11.0
- Поделитесь информацией с вашими друзьями в социальных сетях
- Нам важно Ваше мнение
- Как работает web-spider
- Краткий обзор подсистем
- Конвейер производства данных
- Заключение
- Spider Guard для Windows Servers
- #1 topvic
- #2 Konstantin Yudin
- #3 topvic
- #4 Eugeny Gladkih
- #5 basid
- #6 topvic
- #7 John
- #8 topvic
- #9 Eugeny Gladkih
- #10 topvic
- #11 John
- #12 topvic
- #13 Eugeny Gladkih
- #14 topvic
- #15 basid
- #16 Eugeny Gladkih
- #17 topvic
- #18 Eugeny Gladkih
Spider webs on windows
Обновление SpIDer Agent for Windows в продуктах Dr.Web 11.5 для Windows и Dr.Web Enterprise Security Suite 11.0
20 января 2021 года
Компания «Доктор Веб» сообщает об обновлении агента SpIDer Agent for Windows (11.5.8.01150) в продуктах Dr.Web Security Space 11.5, Антивирус Dr.Web 11.5, Антивирус Dr.Web 11.5 для файловых серверов Windows и Dr.Web Enterprise Security Suite 11.0.
В рамках обновления была актуализирована информация о демоверсиях Dr.Web Security Space в мастере регистрации.
Обновление пройдет автоматически.
Чтобы проголосовать надо войти на страницу новости через аккаунт на сайте «Доктор Веб» (или создать аккаунт). Аккаунт должен быть связан с вашим аккаунтом в социальной сети для наград за активности в них. Видео о связывании аккаунта
Поделитесь информацией с вашими друзьями в социальных сетях
Нам важно Ваше мнение
Комментарии размещаются после проверки модератором. Чтобы задать вопрос по новости администрации сайта, укажите в начале своего комментария @admin. Если ваш вопрос к автору одного из комментариев — поставьте перед его именем @
Как работает web-spider
Предположим, перед нами стоит такая задача: собирать информацию о рекламных объявлениях с различных сайтов в разных категориях. В дальнейшем эта информация будет использоваться для мониторинга и анализа рынка, оповещения о каких-то событиях на этом рынке. Похоже на создание мини- поисковой системы.
По сути дела, имеем 4 подсистемы:
1. Сервис запуска плагинов, собирающих и извлекающих информацию
2. Временное хранилище данных
3. Индекс данных
4. Приложения для работы с извлеченными данными, например, генератор отчетов
Рассмотрим последовательно каждую систему.
Краткий обзор подсистем
1. Сервис запуска плагинов
Представляет собой сервис, который по имеющемуся расписанию запускает из своей библиотеки плагины. В случае ошибки выполнения отдельного плагина, сервис производит определенные действия (запись в журнал, оповещение разработчика по e-mail, рестарт, отключение плагина и т.д.)
2. Временное хранилище данных
Вспомогательная система, обеспечивает хранение и доступ к скачиваемым из интернета страницам. Мы не можем использовать в явном виде базу данных SQL: данные загружаются из интернета сплошными потоками, их очень много и они появляются очень быстро, к тому же, к ним постоянно осуществляется доступ (чтение, изменение, удаление), также в несколько потоков и с высокой периодичностью. Была попытка использования NoSQL-баз данных, но они также не выдерживали нагрузки. В результате было сделано гибридное хранилище: информация о записях хранится в SQL-базе, а само HTML-содержимое в больших файлах. Периодически специальный плагин «вырезает» из этих файлов удаленные страницы.
3. Индекс данных
Для быстрого доступа к данным необходим индекс. Предположим, мы собираемся просматривать количество объявлений в той или иной категории за выбранную дату. Делать подобную выборку из базы и временного хранилища каждый раз — очень дорого для ресурсов сервера. К тому же, какие-то данные будут избыточными. Поэтому строится индекс, куда заносится только ID объявлений и их категории для каждого дня.
4. Приложения для работы с извлеченными данными
Тут все понятно. Это приложения, с которыми работает конечный пользователь. Собранные данные, благодаря построенным индексам, можно теперь быстро и удобно просматривать. Это может быть веб-приложение, где пользователь выбирает шаблоны отчетов и критерии выборки и получает данные в виде таблиц или графиков. Может быть, это будут ежедневные письма менеджерам, отражающие категории объявлений, в которых наблюдается повышенная активность.
Конвейер производства данных
Представим получение данных в виде конвейера.
1. Набор веб-спайдеров, скачивающих с сайтов-источников страницы с результатами поиска. Это те страницы, до которых обычно не добирается поисковый бот (за исключением SEO-страниц, но количество объявлений в них скорее всего будет не полным и содержит лишь наиболее популярные категории). Для каждого сайта придется написать свой плагин со своей логикой запросов. Иногда это GET-запрос с параметрами в querystring, иногда придется слать POST или даже слать параметры через cookies. Для написания такого плагина поможет любой HTTP-анализатор, встроенный в браузер. Задача плагина, скачивающего результаты поиска — охватить все категории объявлений на сайте, посетить все его страницы и сохранить содержимое во временное хранилище. Во избежание зацикливаний при перемещении по пейджингу (paging — перемещение по страницам результата), рекомендуется сравнивать содержимое страницы с предыдущей.
2. Следующий этап конвейера — плагин, извлекающий с загруженных страниц ссылки на страницы с детальным описанием объявления (товара, услуги, в зависимости от специализации сайта). Тут можно попытаться анализировать все ссылки и выделять из них нужные или пойти простым путем и вводить для каждого сайта свое описание такой ссылки. Наиболее простой путь — это использовать свое XPath-выражение для извлечение ссылок с каждого сайта. Плагин извлекает ссылки, сохраняет их в базу и помечает страницы с результатами, как обработанные. Дополнительно плагин может проверить не является ли страница сообщением об ошибке или о том, что результате поиска не найдено результатов.
На случай, если у вас возник вопрос для чего нужно хранить страницы с результатами поиска, расскажу для чего это нужно. Бывают очень большие сайты, скачивание которых занимает длительное время, а плагины часто в результате ошибки вынуждены рестартовать. Ошибки будут, они могут быть связаны с работой сайта, производительностью вашего сервера, сетевые ошибки. В этом случае логично продолжить скачивание с того места, на котором плагин прервался. В случае, если что-то на сайте поменялось и ссылки на страницы с деталями не удается извлечь, достаточно будет только поменять XPath или алгоритм извлечения и перезапустить плагин. Он быстро обработает все хранящиеся страницы без повторного скачивания.
3. Далее идет снова «универсальный» плагин. Он получает список ссылок на страницы с деталями и скачивает их, сохраняя страницы во временном хранилище. Вообще все страницы (с результатами поиска и с деталями) имеют период устаревания, после которого они считаются недействительными и будут удалены. И обработка их производится от старых — к более новым. После обработки они маркируются как обработанные. Ссылки для скачивания, в случае неудачи, помечаются временем попытки скачивания, чтобы можно было попробовать повторную попытку позже. Причиной ошибки может быть временная недоступность сервера или прокси. Для скачивания с отдельных сайтов могут понадобиться прокси. Ну и не следует забывать о нагрузке на сервер сайта-источника данных, необходимо слать запросы не чаще 1 раза в секунду.
4. Имея страницы с деталями объявления, осталось только извлечь необходимую информацию из HTML. Для этого снова придется написать для каждого сайта свой плагин или придумать более интеллектуальный универсальный. В простейшем случае снова можно задействовать XPath для каждого поля документа. Для парсинга HTML подходит такая библиотека как HtmlAgilityPack. Извлеченную информацию нужно поместить в какой-то универсальный формат (например XML) и передать дальше по конвейеру.
5. Из набора xml-файлов со всеми данными можно распорядится ими в соответствии с поставленными задачами, например построить соответствующий индекс, который уже будут использовать конкретные приложения.
Заключение
Я очень коротко ознакомил вас с реально-действующей системой, которая используется для разных вертикалей сайтов. На самом деле при создании этой системы, которая развивается уже 4 года, появлялось множество подводных камней. Если данная тема будет встречена уважаемым сообществом с интересом, то напишу на эту тему еще что-нибудь более подробно.
Spider Guard для Windows Servers
#1 topvic
#2 Konstantin Yudin
В конфигурации группы раздел SpIDer Guard разделен на XP, ME, Servers и т.д. Существуют разные агенты для разных ОС или Dr.Web самостоятельно определяет какого агента и куда соотнести? И существует ли глобальная настройка для все видов ОС одновременно?
#3 topvic
SpIDer Guard два, для win9x и для NT систем (NT4/2k/XP/2k3/Vista. ). для серверов чисто логичкая группа, спайдер там тот же что и для nt4/2k/xp/vista. агент сам определяет кто есть кто и сообщает серверу. глобальной настройки нет для спайдеров и быть не может, это разные компоненты со своим набором настроек.
Чисто логическая группа все таки вынесена отдельным пунктом, и теперь не понятно который из них выбрать SG для XP или SG для Servers, для настройки агента установленного на 2003 server? В мануале конкретных указаний по этому поводу нет!
глобальной настройки нет для спайдеров и быть не может, это разные компоненты со своим набором настроек.
#4 Eugeny Gladkih
the Spirit of the Enlightenment
на сервере работает, естественно SG для сервера
#5 basid
Чисто логическая группа все таки вынесена отдельным пунктом, и теперь не понятно который из них выбрать SG для XP или SG для Servers, для настройки агента установленного на 2003 server? В мануале конкретных указаний по этому поводу нет!
Логика хромает или обострение педантизма?
Что мешает настроить обе группы?
P.S. У меня, например, SpiderGate для серверов можно останавливать, а для XP — нет. Прочие настройки одинаковы.
#6 topvic
Что мешает настроить обе группы?
#7 John
#8 topvic
И шо? Снеси все сервера в отдельную группу и настрой конфиг для группы.
#9 Eugeny Gladkih
the Spirit of the Enlightenment
И шо? Снеси все сервера в отдельную группу и настрой конфиг для группы.
Тогда зачем разделять платформы внутри группы.
#10 topvic
гибкость, сервер и станция требуют разного подхода
#11 John
#12 topvic
Например есть рекомендации МС для антивирусов работающих на DC.
в курсе, и все таки зачем делить платформы внутри группы? почему не достаточно самих групп.
Почему в таком случае один пункт SpiDer Mai для рабочих станций, где настройка для серверов?l
#13 Eugeny Gladkih
the Spirit of the Enlightenment
Почему в таком случае один пункт SpiDer Mai для рабочих станций, где настройка для серверов?l
#14 topvic
Почему в таком случае один пункт SpiDer Mai для рабочих станций, где настройка для серверов?l
#15 basid
«Spider Mail@ для рабочих станций Windows», прошу прощения. Могу прислать скриншот.
#16 Eugeny Gladkih
the Spirit of the Enlightenment
Почему в таком случае один пункт SpiDer Mai для рабочих станций, где настройка для серверов?l
«Spider Mail@ для рабочих станций Windows», прошу прощения. Могу прислать скриншот.
#17 topvic
«Spider Mail@ для рабочих станций Windows», прошу прощения. Могу прислать скриншот.
Хотя бы потому, что Spider Mail — пользовательское приложение, а Spider Guard — ядрёный драйвер.
#18 Eugeny Gladkih
the Spirit of the Enlightenment