Bustag — это автоматическая система рекомендации номерных знаков, основанная на асинхронном пауэрском скрапере, который я разработал, используя aspider. Принцип работы системы заключается в регулярном сборе последних данных о номерных знаках, после чего можно помечать понравившиеся номера. После накопления достаточного количества меток происходит обучение модели, которая затем используется для прогнозирования предпочтений новых номерных знаков.
https://github.com/gxtrobot/pyinaction
Для повышения эффективности решения задач создана группа QQ
Группа QQ: 941894005
Обратите внимание, что эта группа предназначена только для обсуждения обучения Python, разработки пауэрских скриптов, изучения и использования фреймворка aspider, ошибок и проблем с системой Bustag, пожалуйста, не обсуждайте темы, не относящиеся к этому.
Отказ от ответственности: Этот софт предназначен только для образовательных целей и не может использоваться в коммерческих целях. Все последствия использования этого софта лежат на пользователях! Если вам понравился этот софт, вы можете угостить меня чаем ^_^ .
Ссылка: https://pan.baidu.com/s/1pqarq7fOXjsbad0WN4Uaaw Код доступа: budu
Пароль архива: gxtrobot
Запустите docker pull gxtrobot/bustag-app:latest
и перезапустите проект
Необходимо создать конфигурационный файл config.ini в директории data, затем запустить систему и зайти по адресу localhost:8000
Ссылка: https://pan.baidu.com/s/1pqarq7fOXjsbad0WN4Uaaw Код доступа: budu
Видео находятся в соответствующих каталогах:
config.ini
, в случае отсутствия — автоматический выходlocalhost:8000
Страница рекомендаций
Страница маркировки
Локальная файловая система
Страница загрузки номеров
Страница моделей
Страница данных
Скачайте zip-архив, распакуйте его в любой каталог, затем создайте файл config.ini в папке data
внутри вашего каталога.
- Для Windows: выполните (дважды щелкните) файл bustag.exe
- Для macOS: выполните (дважды щелкните) файл bustag
- Браузер: localhost:8000
, если страница открывается успешно, значит всё работает корректно. Если возникли проблемы, проверьте наличие ошибок в окне программы. ### Установка с использованием исходного кода
Если вы знакомы с Python, вы можете клонировать этот проект, создать виртуальное окружение и установить все зависимости из файла requirements.txt
. Затем запустите проект следующими командами:
python bustag/app/index.py
или, если установлен gunicorn,
gunicorn bustag.app.index:app --bind='0.0.0.0:8000'
bustag
, затем создайте в нем подкаталог data
, который будет использоваться для хранения конфигурационных файлов и базы данных.data
создайте файл config.ini, который используется для настройки начального адреса и максимального количества загружаемых данных за один раз.linux, mac
docker run --rm -d -e TZ=Asia/Shanghai -e PYTHONUNBUFFERED=1 -v $(pwd)/data:/app/data -p 8000:8000 gxtrobot/bustag-app
Windows PowerShell
docker run --rm -d -e TZ=Asia/Shanghai -e PYTHONUNBUFFERED=1 -v ${PWD}/data:/app/data -p 8000:8000 gxtrobot/bustag-app
Примечание:
-e TZ=Asia/Shanghai
указывает настройку часового пояса контейнера Docker, если требуется другой часовой пояс, его можно самостоятельно установить; если ничего не указано, используется часовой пояс UTC по умолчанию.
-e PYTHONUNBUFFERED=1
указывает отображение всех логов вывода; если это значение не установлено, будут видны только логи ошибок уровня debug.## Как использовать проект
|____bus.db
|____config.ini
|____crontab.txt
|____model
| |____label_binarizer.pkl
| |____model.pkl
- crontab.txt (файл конфигурации для периодической загрузки, необязательный, [пример файла](./docker/crontab.txt));
- папка models (папка, содержащая модели, созданные системой).
## Другие вопросы
1. Изменение частоты автоматической загрузки
Измените параметр interval в файле config.ini, единицы измерения — секунды, например, установите обновление каждые полчаса как `interval=1800`.
2. Изменение начального URL-адреса для загрузки
Поскольку этот URL часто меняется, он определяется в config.ini -> download -> root_path, вы можете изменить его по своему желанию.
3. Можно ли использовать прокси-сервер?
В настоящее время система не поддерживает использование прокси-сервера, однако вы можете настроить прокси-сервер через Docker.4. Какое количество загружаемых данных является подходящим?
Исходя из стабильности парсинга, не рекомендуется загружать слишком много данных за один раз, так как это может вызвать нагрузку на сервер bus. При первом использовании можно увеличить количество до 1000, чтобы загрузить больше начальных данных для маркировки, а затем вернуться к значению 300.
5. Каковы результаты модели?
После нескольких тестов был выбран модель KNN. Её эффективность нельзя назвать идеальной — точность достаточно высока, но recall ниже среднего. Это значит, что рекомендации имеют высокую точность, однако некоторые предпочитаемые данные могут быть пропущены.
Поэтому, регулярно проверяйте качество рекомендаций, после чего используйте эти метки для обучения модели. Чем больше меток, тем лучше будет результат.6. Сколько меток требуется для обучения модели?
Рекомендуется иметь как минимум 300 меток (включая "нравится" и "не нравится"). Для попытки обучения модели и проверки её производительности можно использовать эту базу данных. Если результат вас не устраивает, увеличьте количество меток и повторите обучение.
7. На какие данные была обучена модель?
В настоящее время модель основана на различных метках, таких как категории фильмов, имена актёров и так далее. В данный момент заголовки не используются.
8. Как изменить порт запуска сервера?
По умолчанию сервер запускается на порту bkpt_8000. Чтобы изменить его, вам потребуется модифицировать команду запуска Docker контейнера, например на bkpt_8000.
```markdown
Запустите с портом 8000, обратите внимание: следующий 8000 не следует менять, затем вы сможете получить доступ через localhost:8000
docker run --rm -d -v $(pwd)/data:/app/data -p 8000:8000 gxtrobot/bustag-app
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )