Парсинг сайта ГИБДД

Всем привет! Сегодня хочу рассказать вам, как можно извлечь большой объем данных с сайта ГИББД и с помощью какого инструмента. Это может быть полезно для финансовых компаний, которые принимают автомобили в качестве залога.

1616

В ходе анализа я обнаружил библиотеку «requests» для передачи POST запросов, но понял, что она не подходит, поскольку на сайте «ГИБДД.РФ» есть элементы JS, а значит, что VIN номер не передать через адресную строку.

Вы знаете, по примерам кода, конечно, можно догадаться, что имеется ввиду библиотека для Python, но всё это далеко неочевидно, особенно тому, кто это видит впервые. В результате ваш опыт парсинга довольно сложно использовать кому-либо ещё.

Насчёт POST-запросов..JS, не JS, но в 99% случаев и запрос, и ответ на него передаются в виде POST или GET HTTP-запросов, наверняка всё это приходит в браузер в каком-нибудь JSON, который легко разобрать. Косвенно это подтверждается тем фактом, что в сети есть сайты, которые предоставляют API для доступа к сайту ГИБДД.

Внезапно, немножко документации по взаимодействию с сайтом гибдд.рф есть...на сайте гибдд.рф. Почитайте. Неохота разбираться, но на первый взгляд там всё просто. На HTTP-запрос определённого формата приходят данные в формате JSON.
https://xn--90adear.xn--p1ai/api

В вашем случае я бы начал просмотра кода сайта и подключённых библиотек на JS на предмет отправки запросов, вроде XMLHttpRequest. Наверняка там есть параметры, которые передаются на сервер (вин-номера, например).
Если не поможет, то посмотрел бы содержание HTTP-запросов к серверу и ответов на них. Наверняка где-то там прячутся необходимые данные в JSON. Во многих браузерах есть такая возможность, или в анализаторах пакетов.
Далее уже всё это вставил бы в свой код на питоне (ну или на чём угодно) и анализировать результат.

Метод с имитацией действий пользователя интересный, конечно, но наверняка можно проще, особенно, если нужно получить и обработать большой массив данных.

2
Ответить

Комментарий недоступен

1
Ответить