Введение 4
Глава 1. Анализ предметной области 6
1.1 Анализ методов сбора и обработки данных с сайта 6
1.2 Обзор и анализ существующих хостингов для размещения виртуального
сервера 7
1.3 Обзор языков программирования для парсинга и фреймворков для
реализации серверной части 9
Глава 2. Инструменты для реализации веб-сервера 11
2.1 Используемое программное обеспечение 11
2.1.1 Интегрируемая среда разработки IDE JetBrains PyCharm 11
2.2 Используемые библиотеки и языки программирования и веб- фреймворки 12
2.2.1 Язык программирования Python 12
2.2.2 Языки HTML, CSS, JavaScript 13
2.2.3 Фреймворк Django 14
2.2.4 Используемые библиотеки 15
2.2.5 Используемые инструменты для веб-сервера 16
2.2.6 Использование базы данных 17
2.2.7 Настройка операционной системы и подключения дополнительного
программного обеспечения 17
Глава 3. Реализация серверного веб-приложения 20
3.1 Концепция веб-приложения 20
3.2 База данных SQLite 21
3.3 Серверная часть 21
3.3.1 Парсинг
3.3.2 Преобразование данных 25
3.3.3 Автоматизация процесса 26
Заключение 29
Список литературы 30
Приложение 31
Время от времени разработчик сталкивается с работой, которая связана со сбором со сторонних источников различной информации, необходимой для проведения анализа или функционирования того или иного процесса. В случаях, когда сайт не предоставляет необходимого API, которое помогает с легкостью получать нужные данные, обычно информацию извлекают и записывают вручную, что довольно долго и неудобно. Поэтому разработка специализированного API для сбора и обработки данных с конкретного сайта является перспективным направлением работы. Если разработчику постоянно необходимо отправлять различные запросы сайту, например, при скачивании информации, вырастает потребление оперативной памяти, понижается продуктивность и скорость работы дисковой подсистемы. Вследствие всего вышеперечисленного, сайт замедляет свою работу вплоть до полной остановки. Одним из продуктивных решений этой проблемы представляется аренда виртуального сервера(УВБ).
Виртуальный сервер будет выполнять роль промежуточного звена между сайтом и разработчиком. Иными словами, создавать образ сайта посредством скачивания нужных данных разработчику и размещать их в виртуальной памяти сервера с дальнейшей обработкой и преобразованием на самом сервере. И в конечном итоге получить данные в удобном формате для разработчика, не беспокоясь о нагрузке сайта. Контейнеризация виртуального сервера позволяет поддерживать оптимальную
производительность даже при высоких нагрузках.
Целью настоящей работы заключается в разработке и проектировании серверной части мобильного клиент-серверного приложения для создания API доступа и форматирования данных сайта сказкиповолжья.рф с помощью виртуального сервера.
Для достижения поставленной цели, выделим следующие задачи:
1. написать функционал для сбора данных с сайта;
2. создать реляционную базу данных для записи полученных данных;
3. написать серверную часть для получения запросов к серверу, извлечения данных из БД и их отправки;
4. сформировать автоматизацию процесса сбора и размещения в виртуальной памяти сервера;
Выпускная квалификационная работа содержит введение, три главы, заключение, список литературы и приложение.
В ходе проведения анализа методов сбора и обработки данных были выбраны подходящие для создания серверной части приложения инструменты и языки программирования. Были рассмотрены основные технологии веб-приложений. Проведя анализ существующих библиотек и фреймворков, была рассмотрена концепция архитектуры серверного приложения. Полагаясь на нее, был создан прототип серверной части приложения.
В результате проделанной работы была спроектирована и разработана серверная часть веб-приложения по разработке API доступа данных к сайту. Сервер производит сбор данных с информационного ресурса сказкиповолжья.рф и хранит их в базе данных SQLite, затем получает данные из БД и преобразует в удобно читаемый формат. После этого отправляет преобразованные данные по запросу пользователя. Стоит отметить, что реализация сервиса доступа данных для сервера является трудоемким процессом, представляющим из себя разработку полноценного серверного программного обеспечения.
В процессе разработки были изучены технологии создания собственного виртуального сервера, а также способы взаимодействия
1. Дронов В.А.- Django 2.1. Практика создания веб-сайтов на Python [Текст] / Владимир Дронов - Образ, 2019. — 672 с.
2. Python documentation [Электронный ресурс]. Режим доступа https://docs.python.org/3/ свободный. (Дата обращения 12.06.2019)
3. Django documentation [Электронный ресурс]. Режим доступа https://docs.djangoproject.com/en/1.1/ свободный. (Дата обращения
13.06.2019)