Получаем выписки из Единого государственного реестра недвижимости (ЕГРН), минуя api. Selenium vs rosreestr.ru. Часть 2.

В предыдущем посте мы начали изучать портал Росреестра в части получения выписок из ЕГРН. Теперь мы перейдем непосредственно к написанию программы, которая будет выполнять рутинные запросы, как если бы это делал человек, сидящий перед монитором.

Пишем программу для работы с онлайн Росреестром.
   Перейдем к нашей программе.
Суть ее заключается в том, чтобы заходя на сайт Росреестра, она авторизовалась через личный кабинет физ. лица и далее начала самостоятельно подавать запросы на выписки из ЕГРН. Данные для запросов наша программа будет получить из файла Excel (куда же без него). Один нюанс. На сайте Росреестра при подаче запроса есть поле с адресом объекта. С ним возникнут сложности, т.к. адреса в Росреестр заведены особым способом. Придется это учесть в работе программы.

Приступим.
Перед началом работы подготовим таблицу excel с исходными данными в следующем формате:

clip_image002
Номер-наименование правообладателя-адрес объекта недвижимости- тип объекта- кадастровый номер- площадь. При запросе нам понадобятся все поля таблицы кроме «номер» и «наименование правообладателя».
Теперь создадим новый файл python – rosreestr.py. И импортируем необходимые модули:

clip_image002[5]

Открываем файл excel c данными по объектам недвижимости:

clip_image002[7]

Заходим на сайт Росреестра. Так как уже сам вход на сайт может идти с задержками, надо поставить ожидание:

clip_image002[9]

Здесь можно оставить просто time.sleep 5 секунд. Но лучше, используя ожидания, написать так:

clip_image002[11]

Теперь нам надо дождаться появления кнопки зайти в личный кабинет и нажать на нее:

clip_image002[13]

Так как регистрация в личном кабинете производится через портал Госуслуги, то сайт перебрасывает на Госуслуги и это происходит также с задержкой, учтем это:

clip_image002[15]

Теперь программа за нас авторизуется на сайте Госуслуги, введя логин и пароль (вместо логина и пароля надо вписать свои данные):

clip_image002[17]

После того, как программа нажала кнопку войти, перед авторизацией может возникнуть вот такое окно:

clip_image002[19]

Здесь надо выбрать CSS-селектор физ. лица. Помните как это делать ? Правой мыши на значке Частное лицо…- исследовать элемент:

clip_image002[21]

И скопировать CSS-селектор:

clip_image002[23]

Внесем его в нашу программу:

clip_image002[25]

Теперь, когда мы залогинились, браузер перекинет нас с сайта Госуслуги на сайт Росреестра. Там наша программа должна кликнуть по пункту «Запрос о предоставлении сведений об объектах недвижимости и (или их правообладателях»:

clip_image002[27]

Внесем соответствующий код:

clip_image002[29]

clip_image002[31]

Везде, между нажатиями мы используем .implicity_wait, т.к. задержки бывают даже при раскрытии браузером вкладок на сайте Росреестра.
Мы попали на стартовую страницу подачи запроса, где от нас ждут прохождения 5 шагов:

clip_image002[35]

Чтобы перейти на второй шаг, надо поставить галочку на странице и нажать далее. Обозначим это в коде:

clip_image002[37]

Мы на 2-м шаге сайта Росреестр. Здесь надо заполнить поле категория заявителя, все остальные данные подтягиваются из Госуслуги автоматически. Потом нажать «Далее»:

clip_image002[39]

В коде это выглядит так:

clip_image002[41]

Если мы запустим нашу программу, то, скорее всего, получим ошибку:

clip_image002[43]

Обработаем данную ошибку так:

clip_image002[45]

Теперь, если возникнет ситуация, при которой страница не прогрузится, программа обновит браузер и заново попытается нажать на нужную иконку. К сожалению, здесь ожидания не работают, и приходится использовать старый, проверенный time.sleep().

Мы на третьем шаге и он самый трудоемкий, рассмотрим его в следующем посте.

admin

Оставить отклик

Ваш адрес эл.почты не будет опубликован.