Информационное моделирование 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Информационное моделирование



Данные, получаемые после работы парсера, структурируются в виде представленном на Рис. 1.

Рис. 1 информационная модель

 

5.1 Таблица Account

В данной таблице хранится информация о пользователе, которого парсят. Связана с таблицей «Media» связью «1 ко многим».

Атрибуты таблицы:

1) id – уникальный идентификатор, первичный ключ, числовой;

2) username – логин аккаунта, уникальный, строковый;

3) full_ name – ФИО аккаунта, строковый;

4) profile_ pic_ url – ссылка на аватар аккаунта, уникальный, строковый;

5) profile_ pic_ url_ hd - ссылка на фото аккаунта, уникальный, строковый;

6) fb_ page – ссылка на страницу в Facebook, строковый;

7) biography – описание профиля, строковый;

8) is_ private – флаг приватности аккаунта, логический;

9) is_ verified – флаг верификации аккаунта, логический.

 

5.2 Таблица MediaType

В данной таблице хранится тип «Media», например: фото, рекламный, видео, альбом. Связана с таблицей «Media» связью «один ко многим».

Атрибуты таблицы:

1) id – уникальный идентификатор, первичный ключ, числовой;

2) name – тип контента, строковый.

 

5.3 Таблица Media

В данной таблице хранится информация о самом контенте, строка в этой таблице означает публикацию в Instagram. Связана с таблицами «Account» и «MediaType» связью «много к одному», а также с таблицами «Locations» и «Tags» связью «много на много» через таблицы «media_ locations» и «media_ tags».

Атрибуты таблицы:

1) id – уникальный идентификатор, первичный ключ, числовой;

2) account_ id – идентификатор аккаунта, внешний ключ, числовой;

3) mediaType_ id – идентификатор типа, внешний ключ, числовой;

4) location_ id – идентификатор локации, внешний ключ, числовой;

5) code – короткий код публикации, строковый;

6) caption – текст публикации, тип строковый;

7) date – дата и время публикации, тип дата и время;

8) likes_ count – количество лайков, числовой;

9) comments_ count – количество комментариев, числовой;

10) is_ comments_ disabled – флаг закрытости комментариев, логический;

11) url – ссылка на содержимое (на фото, видео, альбом) публикации, строковый.

 

5.4 Таблица Locations

В данной таблице хранится информация о местоположении публикации. Связана с таблицей «Media» связью «один на много».

Атрибуты таблицы:

1) id – уникальный идентификатор, первичный ключ, числовой;

2) country_ name – местоположение публикации, уникальный, строковый;

3) slug – ссылка на местоположение, строковый;

4) coordinates – координаты местоположения, строковый.

 

 

5.5 Таблица Tags

В данной таблице хранится информация о тегах публикации. Связана с таблицей «Media» связью «много на много» через таблицу «media_ tags».

Атрибуты таблицы:

1) id – уникальный идентификатор, первичный ключ, числовой;

2) name – название тега, уникальный, строковый.


6 CMS Wordpress и необходимые плагины

CMS Wordpress - самая популярная система управления контентом (Content Management System) в мире. WordPress использует PHP и MySQL, они поддерживаются практически всеми хостинг провайдерами. Основное приемущество - WordPress это система с открытым исходным кодом и является бесплатной для всех.

Плагин – это независимый программный модуль, или же вспомогательное расширение, которое позволяет добавить определенные функциональные возможности основной программе.

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

На сайте использовались плагины:

1. AkismetAnti - Spam — это самая надежная защита от спама комментариев в WordPress. Плагин идёт в стандартной комплектации WordPress.

2. W 3 Total Cache - с помощью него можно ускорить свой WordPress сайт. Модуль сократит время загрузки страниц проекта за счет кеширования файлов.

3. ClassicEditor - Включает классический редактор WordPress, старый вариант экрана редактирования записей (TinyMCE, мета поля и др.). Поддерживает другие плагины расширения старого редактора.

4.  EasySpoiler - создает привлекательный контейнер, чтобы скрыть спойлер внутри поста или страницы. Работает в комментариях и виджетах. Также поддерживает кластеризацию спойлеров в группы.

5. NextGENGallery Sell Photo - самый популярный плагин галереи для WordPress и один из самых популярных плагинов всех времен.

6. NextGEN Галерея - самый популярный плагин галереи для WordPress и один из самых популярных плагинов всех времен. 7. WPGoogle Maps - самый простой в использовании плагин Google Maps! С помощью поставляемого шорткода можно быстро и легко добавлять свою карту в свои записи и / или страницы WordPress.

8. WordPressImporter - импорт записей, страниц, комментариев, произвольных полей, рубрик, меток и многого другого из файла экспорта WordPress.

9. WPSitemap Page - добавить карту сайта на любую страницу.

Страницы сайта

Сайт содержит следующие страницы:

1) главная;

2) мастера студии;

3) услуги студии;

4) фото;

5) обратная связь;

6) карта сайта;

7) рубрика инстаграма.

 

Страница «Главная»

На данной странице представлено описание студии, её история, краткая информация о мастерах студии их навыках.

Переход на модальную форму записи на услугу. Данный виджет является сторонней разработкой от Dikidi Business. Виджет предоставляет возможность выбора услуги и специалиста. На текущий момент в системе 3 мастера и 4 категории услуг (парикмахерские услуги, ногтевой сервис, услуги визажиста, услуга по созданию имиджа и стиля). Каждая категория содержит в себе до нескольких десятков конкретных видов услуг.

Также в конце страницы представлены контактные данные студии – телефон, адрес, график работы, почта.

 

Страница «Мастера студии»

На данной странице представлена подробная информация о мастерах студии, пример представлен на рис. 2.

Рис. 2 Описание мастера

Страница «Услуги студии»

На данной странице представлен список услуг, предоставляемых студией. Пример представлен на рис. 3.

Рис. 3 Услуги студии

 

При нажатии на услугу откроется виджет с выбором мастера, далее есть возможность записаться на какой-либо день.

 

Страница «Фото»

На данной странице представлено портфолио фотографий. Фотографии разделены по категориям. Пример представлен на рис. 4.

Рис. 4 Портфолио

Страница «Обратная связь»

На данной странице представлена контактная форма обратной связи, а также контактная информация и расположение студии на карте (виджет карт Яндекс). Демонстрация на рис. 5.

Рис. 5 Страница обратной связи

 

Страница «Карта сайта»

На данной странице представлены страницы сайта и посты из рубрик. Пример на рис. 6.

Рис. 6 Карта сайта

 

Страница «Инстаграм»

Данная страница представляет из себя рубрику с постами, которые формируются автоматически, в результате работы парсера постов Instagram. Парсер получает данные из аккаунта мастера и забирает новые публикации. Сбор данных происходит раз в 10 минут.

Пример страницы представлен на рис. 7.

Рис. 7 Страница «Инстаграм»

 


 

Парсер

Для того, чтобы пользователь мог видеть все последние новости мастеров, не исследуя при этом их социальные сети был написан парсер последних публикаций из Instagram аккаунтов на Python. Парсер использует стандартный функционал Wordpress для публикации через e - mail, в котором необходимо указать поля:

1) порт подключения почты (995 по умолчанию);

2) почтовый сервер;

3) почтовый адрес;

4) пароль от почтового адреса.

После запуска, парсер забирает 10 постов из аккаунта Instagram, далее из полученной информации извлекаются идентификаторы записей, текст к записям и ссылки на изображения к ним. После, по полученным ссылкам, загружаются изображения на компьютер. После того как все изображения будут получены происходит отправка e- mail на специальный адрес, который указывается в Wordpress.

 

Структура парсера

Парсер представляет из себя виртуальное окружение (Python venv) имеющее следующую структуру:

- win_insta:

§ img – временная папка для хранения изображений;

§ Lib ­ – папка модулей виртуального окружения;

§ Scripts – скрипты для работы окружением;

§ email_ sender. py – модуль для отправки e-mail, указывается почтовая информация: порт, адрес сервера, почтовый адрес, текст сообшения;

§ extandable_ last_ item. py – модуль для работы с хранилищем;

§ insta_ parser. py – модуль, в котором выполняется парсинг;

§ main.py – модуль запуска парсера, здесь указывается страница, из которой нужно получить информацию;

- exlast.json – хранилище, содержит идентификатор последней записи;

- start. bat – файл быстрого запуска парсера.



Поделиться:


Последнее изменение этой страницы: 2021-05-27; просмотров: 100; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.118.198 (0.018 с.)