https://github.com/servb/abit-analytics
Сбор данных о поступающих в ВУЗы России
https://github.com/servb/abit-analytics
Last synced: 8 months ago
JSON representation
Сбор данных о поступающих в ВУЗы России
- Host: GitHub
- URL: https://github.com/servb/abit-analytics
- Owner: SerVB
- Created: 2018-06-28T18:02:33.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2019-06-28T15:21:26.000Z (almost 7 years ago)
- Last Synced: 2025-01-04T07:26:19.734Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 391 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Сбор данных о поступающих в ВУЗы России
Проект начался как летняя учебная практика в 2018 г.
**Руководитель**: Паринов Андрей Андреевич.
## Суть
[](https://www.python.org/downloads/release/python-360/)
[](https://travis-ci.org/SerVB/abit-analytics)
Методы для загрузки списков поступающих в отслеживаемые ВУЗы, парсинга списков поступающих и сохранения списков в формате JSON.
## Быстрый старт
- В [`sample_launcher.py`](sample_launcher.py) показаны возможные варианты запуска сбора данных о поступающих для каждого отслеживаемого ВУЗа.
- [`sample_launcher_all_mag.py`](sample_launcher_all_mag.py) запускает сбор данных о поступающих в магистратуру отслеживаемых ВУЗов (время выполнения порядка **10 минут**).
- [`sample_launcher_all_bach.py`](sample_launcher_all_bach.py) запускает сбор данных о поступающих в бакалавриат отслеживаемых ВУЗов (время выполнения порядка **40 минут**).
## Технологии
- *Python 3* и стандартные библиотеки.
- Сторонняя библиотека *BeautifulSoup 4* (зависимости также перечислены в [`requirements.txt`](requirements.txt)).
- *Travis CI*.
## Отслеживаемые ВУЗы
Описания расположены по ссылкам:
- СПбГУ ([бакалавриат](docs/spbu_bach.md), [магистратура](docs/spbu_mag.md)).
- РАНХиГС ([бакалавриат](docs/ranepa_bach.md), [магистратура](docs/ranepa_mag.md)).
- МГУ ([магистратура](docs/msu_mag.md)).
- РГГУ ([магистратура](docs/rggu_mag.md)).
## Общий код
Несколько методов использованы практически в каждом ВУЗе, поэтому образованы следующие файлы.
### Работа с Интернетом ([`common_html.py`](common_html.py))
- Методы для скачивания страницы из Интернета (если какая-то страница не отвечает, обращение к ней происходит до трех раз).
- Методы для работы с кодом Интернет-страницы.
### Логирование ([`common_logging.py`](common_logging.py))
- Методы для логирования в файл `lastLog.txt` и в консоль.
### Многопоточное выполнение ([`common_task_queue.py`](common_task_queue.py))
- Объект очереди задач, позволяющий добавлять задачи и ждать, пока все они не будут выполнены.
### Работа с JSON ([`common_json.py`](common_json.py))
- Методы для сохранения результирующих файлов (имеют сигнатуру `({ссылка: список_поступающих_по_ссылке}, название_вуза)`).
### Параметры сохранения JSON файлов ([`common_properties.py`](common_properties.py))
- Именованные константы.