Универсальное приложение для автоматизации скачивания должностных инструкций и других документов с различных веб-ресурсов с поддержкой множественных облачных хранилищ.
Job Instruction Downloader - это мощное приложение с графическим интерфейсом, предназначенное для автоматизации процесса скачивания документов с таких ресурсов как Consultant.ru, Garant.ru и других веб-сайтов. Приложение поддерживает сохранение файлов в различные облачные хранилища включая Google Drive, OneDrive, Dropbox и Яндекс.Диск.
- Универсальность: Поддержка любых веб-ресурсов через настраиваемые парсеры
- Современный GUI: Интуитивный интерфейс на PyQt6/PySide6
- Автоматизация: Полностью автоматизированный процесс скачивания
- Облачная интеграция: Поддержка множественных облачных хранилищ
- Надежность: Устойчивость к сетевым проблемам и изменениям структуры сайтов
- Конфигурируемость: Гибкая настройка через JSON конфигурации
- Правовые системы: Consultant.ru, Garant.ru, Kodeks.ru
- Корпоративные порталы: SharePoint, Confluence
- Государственные ресурсы: Официальные сайты министерств и ведомств
- Пользовательские сайты: Любые веб-ресурсы через визуальный конструктор
- Backend: Python 3.12
- GUI Framework: PyQt6/PySide6 (с fallback на Tkinter)
- Web Automation: Selenium WebDriver
- Cloud Storage APIs: Google Drive, OneDrive, Dropbox, Яндекс.Диск
- Конфигурация: JSON/YAML файлы + SQLite для метаданных
- Логирование: Python logging с structured logging
- Парсинг: BeautifulSoup4, lxml, requests
- Python 3.12 или выше
- Chrome/Chromium браузер (для Selenium)
- Доступ к интернету
# Клонирование репозитория
git clone https://github.com/CoreTwin/web2-parser-py.git
cd web2-parser-py
# Создание виртуального окружения
python -m venv venv
source venv/bin/activate # Linux/Mac
# или
venv\Scripts\activate # Windows
# Установка зависимостей
pip install -r requirements.txt
# Установка пакета в режиме разработки
pip install -e .pip install job-instruction-downloader# Из командной строки
job-downloader
# Или напрямую через Python
python -m job_instruction_downloader.src.main- Откройте настройки приложения
- Выберите облачный сервис (Google Drive, OneDrive, и т.д.)
- Следуйте инструкциям для авторизации
- Настройте структуру папок
- Используйте мастер добавления ресурсов
- Укажите URL и тип ресурса
- Настройте селекторы элементов
- Протестируйте конфигурацию
- Выберите отделы/категории для загрузки
- Нажмите кнопку "Старт"
- Отслеживайте прогресс в реальном времени
job_instruction_downloader/
├── src/
│ ├── gui/ # GUI компоненты
│ ├── core/ # Основная логика
│ │ └── parsers/ # Парсеры сайтов
│ ├── utils/ # Утилиты
│ └── models/ # Модели данных
├── config/ # Конфигурационные файлы
│ ├── sites/ # Конфигурации сайтов
│ └── parsers/ # Конфигурации парсеров
├── logs/ # Логи приложения
├── downloads/ # Временные загрузки
└── tests/ # Тесты
Основные настройки находятся в файле config/settings.json:
{
"application": {
"name": "Job Instruction Downloader",
"version": "1.0.0",
"debug": false,
"log_level": "INFO"
},
"selenium": {
"browser": "chrome",
"headless": true,
"window_size": [1920, 1080]
},
"cloud_storage": {
"default_provider": "google_drive",
"create_folders_automatically": true
}
}Каждый поддерживаемый сайт имеет свой конфигурационный файл в config/sites/:
{
"site_config": {
"name": "Consultant.ru",
"base_url": "https://cloud.consultant.ru",
"document_extraction": {
"download_button_selector": "[devinid='14']",
"file_validation": {
"min_size_bytes": 30000,
"expected_extensions": [".docx", ".pdf"]
}
}
}
}# Установка зависимостей для разработки
pip install -r requirements.txt
# Установка pre-commit hooks (опционально)
pre-commit install
# Запуск тестов
pytest
# Проверка кода
flake8 job_instruction_downloader
mypy job_instruction_downloader --ignore-missing-imports# Все тесты
pytest
# Конкретный тест
pytest job_instruction_downloader/tests/test_config.py
# С покрытием кода
pytest --cov=job_instruction_downloader- Создайте файл в
src/core/parsers/ - Наследуйтесь от
BaseResourceAdapter - Реализуйте необходимые методы
- Добавьте конфигурацию в
config/sites/ - Добавьте тесты
- Настройка проекта и структуры
- Базовый GUI
- Основной модуль скачивания
- Простая валидация файлов
- Интеграция с Google Drive API
- Улучшенная обработка ошибок
- Система логирования
- Конфигурационные файлы
- Комплексное тестирование
- Улучшение UI/UX
- Оптимизация производительности
- Документация пользователя
- Упаковка приложения
- Создание установщика
- Финальное тестирование
- Подготовка релиза
MIT License. См. файл LICENSE для подробностей.
- Документация: Полный план разработки
- Issues: GitHub Issues
- Email: info@coretwin.com
© 2025 CoreTwin
Примечание: Проект находится в активной разработке. Некоторые функции могут быть недоступны в текущей версии.