Spider webs on windows

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-содержимое в больших файлах. Периодически специальный плагин «вырезает» из этих файлов удаленные страницы.

Читайте также:  Sys argv python windows
3. Индекс данных

Для быстрого доступа к данным необходим индекс. Предположим, мы собираемся просматривать количество объявлений в той или иной категории за выбранную дату. Делать подобную выборку из базы и временного хранилища каждый раз — очень дорого для ресурсов сервера. К тому же, какие-то данные будут избыточными. Поэтому строится индекс, куда заносится только ID объявлений и их категории для каждого дня.

4. Приложения для работы с извлеченными данными

Тут все понятно. Это приложения, с которыми работает конечный пользователь. Собранные данные, благодаря построенным индексам, можно теперь быстро и удобно просматривать. Это может быть веб-приложение, где пользователь выбирает шаблоны отчетов и критерии выборки и получает данные в виде таблиц или графиков. Может быть, это будут ежедневные письма менеджерам, отражающие категории объявлений, в которых наблюдается повышенная активность.

Конвейер производства данных

Представим получение данных в виде конвейера.
1. Набор веб-спайдеров, скачивающих с сайтов-источников страницы с результатами поиска. Это те страницы, до которых обычно не добирается поисковый бот (за исключением SEO-страниц, но количество объявлений в них скорее всего будет не полным и содержит лишь наиболее популярные категории). Для каждого сайта придется написать свой плагин со своей логикой запросов. Иногда это GET-запрос с параметрами в querystring, иногда придется слать POST или даже слать параметры через cookies. Для написания такого плагина поможет любой HTTP-анализатор, встроенный в браузер. Задача плагина, скачивающего результаты поиска — охватить все категории объявлений на сайте, посетить все его страницы и сохранить содержимое во временное хранилище. Во избежание зацикливаний при перемещении по пейджингу (paging — перемещение по страницам результата), рекомендуется сравнивать содержимое страницы с предыдущей.

2. Следующий этап конвейера — плагин, извлекающий с загруженных страниц ссылки на страницы с детальным описанием объявления (товара, услуги, в зависимости от специализации сайта). Тут можно попытаться анализировать все ссылки и выделять из них нужные или пойти простым путем и вводить для каждого сайта свое описание такой ссылки. Наиболее простой путь — это использовать свое XPath-выражение для извлечение ссылок с каждого сайта. Плагин извлекает ссылки, сохраняет их в базу и помечает страницы с результатами, как обработанные. Дополнительно плагин может проверить не является ли страница сообщением об ошибке или о том, что результате поиска не найдено результатов.
На случай, если у вас возник вопрос для чего нужно хранить страницы с результатами поиска, расскажу для чего это нужно. Бывают очень большие сайты, скачивание которых занимает длительное время, а плагины часто в результате ошибки вынуждены рестартовать. Ошибки будут, они могут быть связаны с работой сайта, производительностью вашего сервера, сетевые ошибки. В этом случае логично продолжить скачивание с того места, на котором плагин прервался. В случае, если что-то на сайте поменялось и ссылки на страницы с деталями не удается извлечь, достаточно будет только поменять XPath или алгоритм извлечения и перезапустить плагин. Он быстро обработает все хранящиеся страницы без повторного скачивания.

Читайте также:  Mac os vpn l2tp client

3. Далее идет снова «универсальный» плагин. Он получает список ссылок на страницы с деталями и скачивает их, сохраняя страницы во временном хранилище. Вообще все страницы (с результатами поиска и с деталями) имеют период устаревания, после которого они считаются недействительными и будут удалены. И обработка их производится от старых — к более новым. После обработки они маркируются как обработанные. Ссылки для скачивания, в случае неудачи, помечаются временем попытки скачивания, чтобы можно было попробовать повторную попытку позже. Причиной ошибки может быть временная недоступность сервера или прокси. Для скачивания с отдельных сайтов могут понадобиться прокси. Ну и не следует забывать о нагрузке на сервер сайта-источника данных, необходимо слать запросы не чаще 1 раза в секунду.

4. Имея страницы с деталями объявления, осталось только извлечь необходимую информацию из HTML. Для этого снова придется написать для каждого сайта свой плагин или придумать более интеллектуальный универсальный. В простейшем случае снова можно задействовать XPath для каждого поля документа. Для парсинга HTML подходит такая библиотека как HtmlAgilityPack. Извлеченную информацию нужно поместить в какой-то универсальный формат (например XML) и передать дальше по конвейеру.

5. Из набора xml-файлов со всеми данными можно распорядится ими в соответствии с поставленными задачами, например построить соответствующий индекс, который уже будут использовать конкретные приложения.

Заключение

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

Spider Guard для Windows Servers

#1 topvic

  • Posters
  • 378 Сообщений:
  • #2 Konstantin Yudin

  • Dr.Web Staff
  • 18 703 Сообщений:
  • В конфигурации группы раздел SpIDer Guard разделен на XP, ME, Servers и т.д. Существуют разные агенты для разных ОС или Dr.Web самостоятельно определяет какого агента и куда соотнести? И существует ли глобальная настройка для все видов ОС одновременно?

    #3 topvic

  • Posters
  • 378 Сообщений:
  • 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

    Читайте также:  Делаем скрин mac os

  • Dr.Web Staff
  • 5 265 Сообщений:
  • на сервере работает, естественно SG для сервера

    #5 basid

  • Posters
  • 4 288 Сообщений:
  • Чисто логическая группа все таки вынесена отдельным пунктом, и теперь не понятно который из них выбрать SG для XP или SG для Servers, для настройки агента установленного на 2003 server? В мануале конкретных указаний по этому поводу нет!

    Логика хромает или обострение педантизма?
    Что мешает настроить обе группы?

    P.S. У меня, например, SpiderGate для серверов можно останавливать, а для XP — нет. Прочие настройки одинаковы.

    #6 topvic

  • Posters
  • 378 Сообщений:
  • Что мешает настроить обе группы?

    #7 John

  • Posters
  • 399 Сообщений:
  • #8 topvic

  • Posters
  • 378 Сообщений:
  • И шо? Снеси все сервера в отдельную группу и настрой конфиг для группы.

    #9 Eugeny Gladkih

    the Spirit of the Enlightenment

  • Dr.Web Staff
  • 5 265 Сообщений:
  • И шо? Снеси все сервера в отдельную группу и настрой конфиг для группы.

    Тогда зачем разделять платформы внутри группы.

    #10 topvic

  • Posters
  • 378 Сообщений:
  • гибкость, сервер и станция требуют разного подхода

    #11 John

  • Posters
  • 399 Сообщений:
  • #12 topvic

  • Posters
  • 378 Сообщений:
  • Например есть рекомендации МС для антивирусов работающих на DC.

    в курсе, и все таки зачем делить платформы внутри группы? почему не достаточно самих групп.

    Почему в таком случае один пункт SpiDer Mai для рабочих станций, где настройка для серверов?l

    #13 Eugeny Gladkih

    the Spirit of the Enlightenment

  • Dr.Web Staff
  • 5 265 Сообщений:
  • Почему в таком случае один пункт SpiDer Mai для рабочих станций, где настройка для серверов?l

    #14 topvic

  • Posters
  • 378 Сообщений:
  • Почему в таком случае один пункт SpiDer Mai для рабочих станций, где настройка для серверов?l

    #15 basid

  • Posters
  • 4 288 Сообщений:
  • «Spider Mail@ для рабочих станций Windows», прошу прощения. Могу прислать скриншот.

    #16 Eugeny Gladkih

    the Spirit of the Enlightenment

  • Dr.Web Staff
  • 5 265 Сообщений:
  • Почему в таком случае один пункт SpiDer Mai для рабочих станций, где настройка для серверов?l

    «Spider Mail@ для рабочих станций Windows», прошу прощения. Могу прислать скриншот.

    #17 topvic

  • Posters
  • 378 Сообщений:
  • «Spider Mail@ для рабочих станций Windows», прошу прощения. Могу прислать скриншот.

    Хотя бы потому, что Spider Mail — пользовательское приложение, а Spider Guard — ядрёный драйвер.

    #18 Eugeny Gladkih

    the Spirit of the Enlightenment

  • Dr.Web Staff
  • 5 265 Сообщений:
  • Оцените статью