Этот проект представляет собой инструмент для сбора и систематизации информации о высших учебных заведениях (ВУЗах) и их лицензиях. Скрипт автоматизирует поиск данных на различных сайтах, включая:
- Единый реестр лицензий:
https://islod.obrnadzor.gov.ru
- Табитуриент.ру:
https://tabiturient.ru
- Google Custom Search API:
https://developers.google.com/custom-search/v1
Скрипт выполняет следующие действия:
- Поиск лицензии: Находит информацию о лицензии ВУЗа в Едином реестре лицензий по его названию. Извлекает данные: ИНН, ОГРН, краткое и полное наименования, решение о предоставлении лицензии, регион и ссылку на страницу лицензии.
- Поиск сайта: Определяет URL сайта ВУЗа с помощью Google Custom Search API.
- Определение IP адреса и хостинга: Получает IP адрес сайта ВУЗа и информацию о его хостинге через
https://ipinfo.io
. Извлекает данные: URL сайта, IP адрес, название хостинга и местоположение (страна, город). - Поиск информации о специальностях ИБ: Анализирует сайт "Табитуриент.ру", чтобы определить, есть ли в ВУЗе кафедра информационной безопасности (ИБ) и какие специальности ИБ предлагаются. Извлекает данные: наличие кафедры ИБ ("+" или "-"), список кодов специальностей.
- Экспорт данных в Excel: Сохраняет собранную информацию в файл
data.xlsx
в формате Excel. Файл содержит следующие столбцы: ИНН, ОГРН, Краткое наименование, Полное наименование, Решение, Регион, Ссылка на лицензию, Сайт, IP сайта, Хостинг сайта, Местоположение сайта, Есть кафедра ИБ, Специальности ИБ.
- Клонирование репозитория:
git clone https://github.com/Terrible59/vuz-parser.git
- Установка зависимостей:
cd vuz-parser npm install
- Настройка:
- Создайте файл
.env
в корневой директории проекта. - Добавьте в файл
.env
следующие переменные окружения:GOOGLE_API_KEY
- ваш ключ API для Google Custom Search.GOOGLE_ENGINE_ID
- идентификатор вашего поискового движка Google Custom Search.
- Создайте файл
- Запуск:
Результаты парсинга будут выведены в консоль и сохранены в файл
npm run start
data.xlsx
.
- src/constants.js: Содержит константы, такие как URL-адреса используемых сайтов.
- src/handlers:
- searchLicense.js: Обработчик для поиска лицензии ВУЗа.
- searchWebsite.js: Обработчик для поиска сайта ВУЗа.
- searchSpecialty.js: Обработчик для поиска информации о специальностях ИБ на сайте "Табитуриент.ру".
- src/index.js: Основной файл скрипта, который запускает процесс парсинга.
- src/utils:
- ipLookup.js: Утилита для определения IP адреса по доменному имени.
- jsonToXlsx.js: Утилита для экспорта данных в файл Excel.
- axios: ^1.7.2
- cheerio: ^1.0.0-rc.12
- crawlee: ^3.10.2
- dotenv: ^16.4.5
- googlethis: ^1.8.0
- node-xlsx: ^0.24.0
- qs: ^6.12.1
- typescript: ^5.4.5
ISC
- Код скрипта написан на JavaScript.
- Для каждого университета скрипт пытается выполнить все три задачи (поиск лицензии, сайта и специальностей). Если одна из задач завершается неудачно, результат для этой задачи будет пустым.
- Скрипт использует таймаут 2 секунды между запросами к сайтам, чтобы избежать блокировки.
- Возможность добавления новых источников данных.
- Более гибкая настройка параметров поиска (например, выбор региона).
- Разработка графического интерфейса пользователя (GUI).