воскресенье, 1 июня 2008 г.

Про то чем сейчас занимаюсь в свободное время

Общая упрощенная схема того, что было задумано:
Описание блока Граббер.

1.1. По заданным признакам копирует содержимое WEB-сайта (его страниц).
Я пока выделяются несколько видов ссылок.

А) Информационные ссылки (содержащие информацию, там текст новости);
Пример для Лента.ру: http://lenta.ru/news/([0-9]{4})/([0-9]{2})/([0-9]{2})/([a-z])(.*)/$

Б) Навигационные ссылки (страницы которые могут содержать ссылки на страницы с информацией);
Пример для Лента.ру: http://lenta.ru/([a-z]){2,15}/$

В) Информационные ссылки II (страницы имеющие на одном URL информацию, которую можно представить в виде нескольких информационных страниц, то есть новости идут общим текстом на главной страницы (без кнопочек Подробнее), но есть возможность через регулярное выражение или шаблон автоматически их разбивать).

Г) RSS-каналы (могут быть использованы как для получения б), так как и а));

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

Возможна встройка алгоритмов автоматического определение информационного содержимого страницы (видел такие в Инете). Они позволяют получать информацию со страницы без задания шаблона.

Пример шаблона для граббинга для Лента.ру новости:

[/tr][/tbody][/table][h2]{title}[/h2]{skip}[/iframe][/td][/tr][/table]{text}[p][/p]


{title} - заголовок;
{text} – содержимое;
{skip} – пропустить.

Теги {data}, {category}, и еще пару, пока не задействованы.Выполнено по аналогии с News Grabbers.

1.2. Помещает их в общую БД.
1.2.1. Проверка статьи на уникальность.
1.2.2. Добавление статьи в общую БД.
1.2.3. Исключение текущего URL из дальнейшего рассмотрения.
1.2.4. Поиск новых URL по пунктам а)-в) и добавление их на индексацию (ограничение если необходимо опционально, то есть установка фильтров на а)-в), брать только новые материалы, или определенное количество или ….)

1.3. Классифицирует.
Классификаторы могут быть автоматические и статические.
Статические – задание список категорий и ключевых слов. Статья причисляется к какой-то категории или ее подкатегории по наличию в теле ключевых слов.
Автоматические – задается слово или список ключевых слов, а категории строятся автоматически по базе имеющихся статей. Возможен вариант автоматического расширения списка ключевых слов.

На данный момент реализовано: 1.1. (а,б,г), 1.2 (кроме 1.2.4 и 1.2.1 - пока тупо сравнивает заголовки и сам текст, без вычисления % совпадения текстов), 1.3 – в процессе.

2 комментария:

Анонимный комментирует...

спасибо что ответил

Upsarin комментирует...

Да не вопрос :)

PS. Типа как оно? Будет актуально? Я понимаю что похожие системы есть... но...