Разработка мобильного приложения

Появилась идея для создания приложения - ассистента для студентов своего ВУЗ'а. Однако уже на начальном этапе столкнулся с рядом проблем и вопросов.

1) Приложение должно выводить расписание в соответствии с группой студента, естественно есть необходимость брать расписание с сайта ВУЗ'а, расписание на сайте в excel файле. С помощью чего можно брать excel файл с расписанием.

Страница с расписанием - клик

По данной странице идут подряд названия институтов, чтобы увидеть excel файлы необходимо нажать на свой институт, дальше появятся курсы и выбираешь свой курс и начинается скачивание файла. Можно ли с помощью Python брать нужное расписание? То есть user в приложении указывает свой институт, свой курс и группу, а приложение ему в красивом виде загружает его расписание. Можно ли такой функционал реализовать с помощью Python/Java?

2) В приложении предполагается интерактивная навигация по аудиториям. И вот собственно сам вопрос, как можно реализовать интерактивную схему университета, на примере схем торговых центров ? (см. скриншот ниже) введите сюда описание изображения

P.S Только интерактивная будет иметь вид сверху.

Посоветуйте какими готовыми решениями можно воспользоваться или как попроще можно сделать ту или иную часть приложения. Может если есть ресурсы схожие с тематикой поделитесь ими. Заранее спасибо!


Ответы (1 шт):

Автор решения: Спицко Дмитрий

На будущее - на stackOverflow есть правило: один вопрос - один вопрос. В будущем если у вас два разных вопрос, хоть и связанных одним приложением, создавайте два вопроса. Так будет проще тем, кто будет искать ответ на такой же вопрос в будущем

Про карту университета совсем недавно был вопрос. Уж не из одного ли вы университета? =)

Парсить эксель можно с помощью POI

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

https://www.mirea.ru/upload/medialibrary/7b1/IK_1k_19_20_vesna-1.xlsx

Эти три символа специально добавили, чтобы просто так никто не парсил сайт и не качал все доступные файлы. Я бы рассмотрел другие варианты, например сделать свой сервер и руками/скриптом перекидывать на него расписания, чтобы приложение их брало уже оттуда. Ну или вообще связаться с отедлом информатизации или его аналогом в вашем вузе и попробовать договориться о сотрудничестве, чтобы у вас был какой-то свой инструмент для получения расписаний. Ради благой цели вам вполне могут пойти на встречу, особенно если кто-то из преподавателей за вас "впишется".

Если эти варианты не варианты - можно парсить страницу целиком и вытаскивать из нее нужные ссылки на файлы. Это не шибко сложно, но муторно. Делать это внутри приложения точно не хочется, я бы все же сделал скрипт, который будет вытаскивать со страницы ссылки и загружать расписание на ваш сервер. А в идеале еще и преобразовывало его в бд, например, чтобы не парсить эксель на устройствах. Раз в полгода его запускать руками терпимо, на ранних этапах.

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

→ Ссылка