Гибкий web-crawler Дизайн и разработка Артём Курапов
Схема доклада Введение. Объект и цель исследования. Способы решения проблемы. Алгоритмы индексации и упрядочивания данных. Взгляды на выборку, перепросмотр и распределение нагрузки. Проделанная работа. Особенности и жертвы разработки. Заключение и выводы.
Web-crawler это.. Инструмент для разных целей Основная цель – сбор данных для поиска по ним Косвенные цели – анализ документов в целом
Кому и для чего это надо? Web-мастерам среднего уровня со знаниями основ LAMP (для образования) Аналитикам, администраторам, архитекторам (для планирования) Создателям информации (для сбора фактов)
Сбор данных Индексация вручную (copy-paste). Рутинная работа. Автоматическая индексация. Основная проблема – алгоритм индексации. Оценка полученных данных для дальнейшего отображения
Алгоритмы индексации дерева Наивный Breadth-first Depth-first Uniform-cost
Ограничения индексации Необходимы из-за физических ограничений сервера в случае неизвестного числа документов Естественное ограничение – новые технологии flash, video, java applet, javascript, необходимость авторизации, captcha Настраивыемые ограничения (глубина,число документов, тип ресурсов)
Web-crawler как часть большего Selection, revisit policy Лёгкость интеграции Возможность расширения (параллелизация) за счёт многопоточности (crontab) : скорость и нагрузка Внешние системы обработки данных – video, image, audio, xml, rdf..
Проделанная работа
Добавление паука
Добавление домена
Список доменов
Взгляд изнутри MySQL 5 PHP5 Apache 2 nnCron проиндексировано 80 тыс страниц 1-2 страницы в секунду Open Source
Заключение Много алгоритмов, необходима конкретная цель Сделанный crawler – медленный, но гибкий Рост в скорости требует бОльшего проектирования баз данных. Рост в аналитике – отдельных модулей визуализации
The end
Замена PHP ASP JSP CGI Perl
PHP популярность