Парсер штрафов ГИБДД.
Конфигурация предназначена для проверки штрафов по списку автомобилей на сайте ГИБДД.
Основной функционал:
1.Хранение списка автомобилей (учет выбывших, измененных) в разрезе контрагентов.
2.Автоматический парсинг штрафов на сайте ГИБДД по списку активных автомобилей
3.Механизм разгадки капчи при. Для разгадки капчи используется сервис anti-captcha
4.Механизм выгрузки найденных штрафов на ФТП.
5.Тестовая обработка для загрузки штрафов во внешнюю базу с ФТП с возможностью удаленной корректировки списка автомобилей (через ФТП).
6.Механизм загрузки списка автомобилей с Яндекс таксометра по API.
7.Механизм актуализации автомобилей по их активности в Яндекс таксометре по API.
8.Механизм загрузки данных по API с сайта shtrafovnet.ru
Дополнительный реализованный функционал, требующий доработки:
1.Обработка для парсинга штрафов с сайта driver-helper.ru
2.Механизм выгрузки на сайт списка автомобилей
3.Механизм загрузки штрафов из файлов, которые приходят на почту с сайта driver-helper.ru
При использовании данного продукта нужно учитывать один важный момент, на сайт ГИБДД тоже штрафы могут поступать не оперативно и сюда приходят штрафы только с нарушений ПДД.
В планах также было разгадку капч реализовать с использованием нейронных сетей, чтобы за это не платить сервису anti-captcha. Но пока работу над проектом прекратил.
1. Структура конфигурации:
1.1. Справочники:
1.1.1. Контрагенты
Используется для разделения загруженных автомобилей по контрагентам, чтобы потом можно полученные данные группировать, а также можно для каждого контрагента выгружать данные на свой FTP.
Контрагент может быть не активный, тогда по его автомобилям парсинга не будет.
В поставляемой конфигурации механизмы настроены на работу только с контрагентом «ОСНОВНОЙ»
1.1.2 Автомобили
Основные поля у автомобиля, это Гос номер и СТС, которые участвуют в парсинге штрафов
Поле «Дата выбытия» если заполнено, то этот автомобиль исключается из парсинга. Остальные поля не критичные для работы парсинга на сайте ГИБДД.
1.1.3. Учетные записи электронной почты
Используется для сайта driver-helper.ru (механизм не доработан)
В каждом автомобиле есть ссылку на учетную запись, что означает, что по этому автомобилю на сайте driver-helper.ru отслеживаются штрафы на этой учетной записи.
Обработка получения штрафов с сайта driver-helper.ru, получает рассылки эксель из каждой учетки driver-helper.ru со списком штрафов и загружает в 1С.
1.1.4. HTTP Запросы
Преднастроенные запросы HTTP, API, где можно также и тестировать сами запросы и результат.
Шапка и параметры (параметры могут использоваться в методе, заголовке и в теле запроса используя знак @):
Заголовки:
Тело запроса:
Тело ответа (можно смотреть в виде текста, HTML и в виде структуры):
Заранее настроенные запросы используются в процедурах, где можно подставлять в параметры другие значения и получать результат.
1.2. Константы:
КлючAntigate – Ключ с сайта anti-captcha.com, для подключения механизма разгадки капчи при парсинге.
ПутьЛогов – Используется для хранения картинок капчи, можно не заполнять.
ТокенShtrafovNet – Токен с личного кабинета сайта shtrafovnet.ru, для подключения через API.
IdShtrafovNet – ID компании на сайте shtrafovnet.ru
1.3. Регистры сведений
1.3.1. ИстроияПроверкиШтрафов
Здесь сохраняются все загруженные штрафы, и отсюда потом выгружаются на другие ресурсы (в моем случае это выгрузка на FTP)
1.3.2. Журнал.
Для ведения лога, я использовал для отладки задач.
1.4. Обработки
1.4.1. ШтрафыГИБДД
Обработка для парсинга сайта штрафов ГИБДД на сайте гибдд.рф. По активным автомобилям, подставляя номер и стс, получает штрафы.
Важно: обработка работает только на клиенте, т.е. ее нужно запускать вручную. На сервере в фоновом режиме не работает.
Для работы обработки нужно обязательно подключить сервис разгадки капч, чтобы программа сама разгадывала капчи.
В этой обработке основная кнопка «Пуск». Нужно нажимать только ее.
Все остальное дополнительные вещи, использовал для отладки и анализа.
Остановить – останавливает процесс, чтобы проанализировать логи или для запуска в ручном режиме.
Продолжить – продолжает процесс парсинга в автоматическом режиме.
Ручной пуск – после остановки процесса, эта кнопка позволяет в ручном режиме проходить этапы парсинга.
Выгрузить штрафы на FTP – позволяет в ручную запустить выгрузку полученных штрафов на FTP указанного контрагента.
А также прочие команды…
В полях дополнительно отображаются состояние парсинга.
По каждому ТС (автомобилю) есть 4 этапа парсинга.
Интервал обработчика – через сколько секунд программа должна попытаться перейти на следующий этап. Оптимальное значение 3 секунды. это зависит от скорости работы сайта в данный момент.
Справа окна парсинга есть таблица с логом, используется для отладки процессов на разных этапах. Т.е. если парсинг нормально идет, то на эту таблицу можно не смотреть. А есил проблема на сайте, то в таблице можно увидеть описание проблемы:
1.4.2. ШтрафыПомощникВодителя
Предназначена для получения штрафов с сайта driver-helper.ru
Сделан механизм выгрузки автомобилей на сайт.
Сделан механизм загрузки штрафов driver-helper.ru из их рассылки в файле эксель с почтового ящика.
Обработку нужно еще тестировать и дорабатывать.
1.4.3. ШтрафыГИБДД_ШтрафовНет
Здесь всего одна дата и одна кнопка.
Обработка вычисляет дату последней загрузки и предлагает грузить только обновленные штрафы начиная с этой даты. Это исключает вероятность упущения какого-либо штрафа и не делает лишних запросов.
Для работы этого инструмента, нужно иметь учетку на этом сайте.
1.4.4. Управление автомобилями
Может с FTP получать список автомобилей и актуализировать их в базе. Т.е. изменить СТС у старого автомобиля, сделать неактивным текущий автомобиль, создать новый автомобиль.
Также можно выгрузить список автомобилей из базы на FTP, чтобы в из другой базы можно было контролировать список автомобилей (корректировать).
Также здесь есть вкладка для интеграции с яндекс таксометром.
Можно получить активные автомобили прямо из яндекс таксометра и внести данные в соответствующее поле автомобилей.
1.5. Работа с FTP
Для работы с FTP, в программе заложен механизм, который работает с определенными папками. Т.е. на FTP должны быть следующие папки: in, out, setting, temp.
1.6. Обработка для внешней базы 1С (не включена в конфигурацию).
Есть отдельная обработка для обычных форм.
Обработка имеет 3 назначения:
- Получить штрафы с FTP и загрузить в свою базу (специальный нетиповой документ)
- получить с FTP список автомобилей, отредактировать и выгрузить обратно на FTP, для актуализации базы парсинга штрафов.
- Механизм загрузки штрафов непосредственно с сайта shtrafovnet.ru
Конфигурация сделана для таксопарка и рабочая на момент публикации.
Тестировался на платформе 1С 8.3.22.1750
Постарался максимально описать функционал, чтобы было понятно что ожидать от конфигурации и не скачивать зря.
Стоимость указал высокую, так как времени на разработку было потрачено достаточно много и, немного доработав, можно внедрить в любую конфигурацию.
Если есть вопросы, то прежде чем скачивать, задайте мне вопрос в личку.