MegaParser

Продвинутый парсер соцсетей вконтакте и одноклассники

Задачи

  • Создание парсера для для парсинга групп, которые продают товары через соцсети вконтакте и одноклассники.

Решение

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

На этапе проектирования было решено не использовать CMS и PHP фрейвороков, так как функционал специфический и их использование избыточно. Поэтому парсер делался на чистом PHP. Для оформления использовался bootstrap, так как клиенту нужен был строгий дизайн без излишеств. Информация подтягивается парсером в основном через API ВК и ОК, но в некоторых местах не хватало их возможностей и приходилось парсить информацию напрямую.

Главная страница для гостя
Так выглядит главная страница для незарегистрированных пользователей. Дизайн решили делать минималистичный: оставить только шапку с логотипом и кнопками входа через ВК и одноклассники.
Главная страница пользователя
Данная страница появляется при входе через соцсети. Парсер даёт возможность получить информацию из группы, альбома или стены пользователя. Кроме этого вы можете выбрать определённый диапазон дат для выгрузки. Так как у API ВК и одноклассников есть свои лимиты в выгрузке информации, в шапке отображаются лимиты на выгрузку изображений за час и сутки.
Выгрузка парсера
Так выглядит выгрузка парсера для группы ВК за один день. Если не выбирать даты выгрузки, то появятся первые 10 карточек выгрузки парсера и кнопки предыдущая и следующая страница для парсинга следующих записей группы. Пагинация была сделана для ускорения работы с парсером, так как если выгрузить, например, 100 карточек, то пользователь будет ждать около минуты.
В некоторых публикациях групп может быть 2 и более фото, поэтому было решено выгружать все фото, а не только первое с одинаковым описанием у каждого, так как в соцсети оно общее для всех фото.
В парсере можно выделить карточки, которые будут выгружены в альбом или на стену (по умолчанию выделены все). Из каждой карточки можно удалить форматирование и смайлы и получить ссылку на оригинальный пост в соцсети.
Изображение было решено растянуть по вертикали и горизонтали, не обрезая, чтобы было его видно полностью, так как на некоторых изображениях может быть водяной знак. При нажатии на лупу изображение открывается в выпадающем окне с оригинальным размером.
Панель фильтров парсера
Заказчику нужны были инструменты для работы над информацией, полученной в процессе парсинга. Это было реализовано в виде панели фильтров, где можно изменить цену и описание карточек, полученных парсером. Для цен была сделана наценка в процентах и рублях и округление цен на величину кратную 10, 50 и 100. Для описаний реализовано удаление всех ссылок, номеров телефонов, самого описания, добавление текста в начало и конец описания, и поиск и замена текста. С технической стороны данный функционал было реализовать не просто, так как пришлось писать большое количество регулярных выражений, чтобы выделить из описания телефоны, цены и ссылки.
Выгрузка парсинга в альбом
Следующий за парсингом этап – выгрузка фотографий в альбом группы. Здесь все выбранные галочкой фото будут выгружены в выбранную группу и альбом пользователя. Для удобства можно выбрать добавлять описания к выгруженным фото или нет.
Модальное окно выгрузки
После нажатия кнопки загрузить откроется выпадающее окно с миниатюрами фотографий, и по мере выгрузки будут подсвечиваться фото, которые уже были выгружены в альбом соцсети. Такое решение было выбрано для удобства и чтобы пользователь видел сколько и какие фото уже были выгружены в альбом.
Результат выгрузки в альбоме ВК
Результат выгрузки в альбоме ВК.
Расширенные настройки парсера
В данной панели находятся дополнительные фишки парсера, которые выделяют его среди конкурентов. Первая из них – тёмная тема, это настройка цветовой гаммы сайта, чтобы глаза меньше уставали, так как целевая аудитория зачастую проводит несколько часов в день за парсером, поскольку продают огромный ассортимент товаров. Следующая опция – добавление водяного знака для защиты от копирования фото.
Кнопка «добавить ссылку» нужна для ускорения работы с парсером.
Автозагрузка по времени нужна для того, чтобы делать автоматическую выгрузку из соцсетей в определённое время.

Результат

В результате получился продвинутый и удобный парсер соцсетей, который позволяет в кратчайшие сроки выгружать информацию из соцсетей ВК и ОК в альбомы пользователя. Но для полноценного запуска пока не хватает системы оплаты за пользование парсером, сейчас пользоваться им может любой пользователь. У клиента есть своя аудитория, которая пользуется данным решением, поэтому было принято решение отложить полномасштабный запуск программы.

Другие проекты

У вас есть проект?

Давайте обсудим его. Продумаем. И сделаем!