Требуется разработка некого черного ящика, возможно с интерфейсом API, в целом не важно.
Важно, что на вход будут подаваться одни данные, а на выходе должен быть результат обработки.
Создается как сервис, т.е. должен работать отдельно, не зависимо ни от чего.
Реализуется средствами php
Что должен уметь черный ящик.
На вход подается ссылка или группа ссылок на сохраненную текстовую копию Yandex (в принципе может быть любая ссылка)
Ссылка на текстовую копию, к примеру такая
hghltd.yandex.net/yandbtm... Что должен сделать сервис.
1. Отделить шапку яндекса в сохраненной копии, и не учитывать её при распарсивании.
2. Распарсивается весь контент страницы
3. Разделяются области документа
Meta Title
Meta Description
Все, что в <body>
Заголовок h1
Заголовки h2-h6
<b,i,em,strong>
Текстовый фрагмент (текст небольшого описания, к примеру товарный блок)
Текст (текст большого объема)
Не нумерованный список (не ссылка)
Нумерованный список (не ссылка)
Ссылка
Не нумерованный список (ссылка)
Нумерованный список (ссылка)
Изображение
Атрибуты изображений
Видео
Цены
Купить
4. Контент распарсивается на предмет текстового состава + на наличие медиа материалов
Получаем следующие данные по документу:
Количество символов
Количество символов без пробелов
Количество слов
Количество стоп-слов
Вода
Исключая стоп слова (отдельный список)
Список слов по убыванию по кол-ву вхождений и проценту от общего объема (учитывая области документа)
Распределение по исходной словоформе и словоформам
Распределение по фразам
Выделение выделенных яндексом слова
Возможны коррекции
5. Кол-во изображений в области контента
6. Атрибуты изображений (alt/Title)
7. Кол-во видео на странице
8. Кол-во цен на странице (…. руб./р./знак рубля)
9. Кол-во кнопок «купить» (заказать и т.д.)
Если на вход подалась одна ссылка, то выводятся все указанные значения, если на вход пришли несколько ссылок, то по всем значениям выводится медиана.
В целом задача шире, этот модуль лишь начало.