crm

До семинара в Сочи осталось

  • 2
  • 7
дней

Форум

ГлавнаяГКН - как добыть программно?

ГКН - как добыть программно?

RSS
ГКН - как добыть программно?
 
Народ, поделитесь - кто как добывает ГКн-ы для квартир ?
При загрузке жил.помещений через шаблоны необходимо указывать ГКН - ставить 'нет' неправильно.
Вопрос: откуда их брать?
На сайте Росреестра можно по адресу найти этот ГКН (онлайн сервис).
Но для УК-шки нереально садить операторов на эту работу (да и ошибкоопасно это).
Есть ли способ программно решить эту проблему ?

Отправлено спустя 8 минуты 58 секунды:
Моё частное мнение - этой проблемой должна заниматься сама ГИС.
Т.е. мы уже даем в шаблоне [ФИАС_Гуид дома] + [номер кв.] и этого достаточно для вычисления ГКН.
но раз уж так вышло, как сейчас, то вопрос - а как бы с Росреестра вытянуть эти ГКН-ы по адресу?
 
Цитата
Дамир пишет:
Моё частное мнение - этой проблемой должна заниматься сама ГИС.
мое частное мнение, что заполнять дома шаблонами не стоит, так как при ручной привязке дома к ГКН, автоматически добавляются связанные с ним квартиры, достаточно потом просто проверить список помещений и удалить лишнее/добавить недостающее.

И нет, отсутствие у вас какой-либо информации это не проблема ГИС.
 
Моё частное мнение, что работать надо шаблонами (если нет апи интеграции).
До шаблонов надо провести нормальный аудит данных.
Грузить ГКН ручной привязкой считаю не вариантом совсем. Во первых ГИС не умеет нормально работать с РР, как и большинство сторонних сервисов. ЕГРП содержит много ошибок, а ГКН - аццкая помойка, разобраться в которой может только очень профессиональный персонал при наличии нормального софта. :)
Сама ГИС не может этим заниматься ещё и потому, что они не способны понять, например, какой из 5 ГКН с разными КН и прощадями нужно взять и сколько на эти 5 ГКН с одним номером приходится помещений. (А приходиться их может от 0 до бесконечности :) )
 
Цитата
Дамир пишет:
На сайте Росреестра можно по адресу найти этот ГКН (онлайн сервис).
Хорошо, что можно. Ради интереса попробовал найти и... не нашел :D Наверное, не там искал. Вообще говоря, все, что есть в виде онлайн сервисов и не защищено ЭП легко имитировать (с ЭП посложнее - там еще плагины подпись формируют) - посмотреть исходный текст формы, сформировать аналогичный форме http запрос и проанализировать ответ (отфильтровать меню, формы и прочее, потом выяснить - получен номер или ошибка). В случае авторизации на сайте нужно еще посмотреть в браузере содержимое куки и добавить его к запросу.
Для подобного (например, получить список обновлений Windows или скачать переведенную главу книжки) я обычно использую VBScript (XMLHTTP Request), но можно для этого же использовать Эксель и VBA - брать данные адреса из открытого шаблона и заполнять ответ в шаблон. Кажется в прошлом году писал модуль VBA для вытаскивания в Эксель с сайта ИКИО ФИО членов УИК, если интересует - поищу, переделаете под КН.
Главное, чтобы полезный ответ был. Но если найдется несколько результатов, то любая программа окажется в затруднительном положении и все же придется вручную проверять.
 
Цитата
Егор пишет:
Грузить ГКН ручной привязкой считаю не вариантом совсем.
Допустим, вариант "загружаем жилые помещения шаблонами с заполненными ГКН"....
По 1-2-3 квартирам можно с сайта РР достать руками (есть у них 'онлайн'-сервис).
Как достаете ГКН-ы ?

Отправлено спустя 3 минуты 48 секунды:
Цитата
two_oceans пишет:
Ради интереса попробовал найти и... не нашел :D Наверное, не там искал.
Чтобы понятно было о чём я говорю - ссылка (на нее есть переход с корневой страницы РР)
https://rosreestr.ru/wps/portal/online_request

Позволяет по адресу найти ГКН.
 
Спасибо. Значит я правильно искал и тогда, наверно, в упор не понимаю, как заполнить адрес - если заполнять все поля последовательно, то в итоге выдает, что "Не найдены данные" и очищает данные о районе - городе.
 
Цитата
two_oceans пишет:
... не понимаю, как заполнить адрес - если заполнять все поля последовательно, то в итоге выдает, что "Не найдены данные" и очищает данные о районе - городе.
Видик есть - с 50-ой секунды есть что-то: https://rosreestr.ru/site/fiz/
1) переключить режим (радиокнопка справа) на поиск по адресу
2) После области, почему-то в район - ввожу город (иначе не дает ввести)
3) потом вид улицы, улица, дом, квартира
и... все находит (ГКН).
но это сервис для частного лица.
Если программно начать туда долбиться (слать запросы) - это может быть воспринято как атака на сервер.
 
Спасибо. Ясно, без ввода типа населенного пункта и населенного пункта все же нашлось - 4 записи (2 пары), а у соседней муниципальной квартиры - ноль. И как теперь выбрать - один номер без указания области (но номер начинается характерно, так что явно с нашей области), второй с указанием.
Как правило, задержка между запросами (в 5 секунд + случайная цифра от ноля до 15 секунд) решает проблему "восприятия как атаки" на большинстве сайтов - воспринимается как средний человек. А если воспримет как атаку, то можно найти несколько прокси и обойти ограничения (вряд ли проверяют адрес за прокси). И даже все еще есть такие сайты, которые вообще никак не лимитируют количество запросов за единицу времени и интервал между запросами. Как будет свободная минутка - проверю какие критерии у Росреестра.
 
Цитата
two_oceans пишет:
Спасибо. Ясно, без ввода типа населенного пункта и населенного пункта все же нашлось - 4 записи (2 пары), а у соседней муниципальной квартиры - ноль. И как теперь выбрать - один номер без указания области (но номер начинается характерно, так что явно с нашей области), второй с указанием.
Как правило, задержка между запросами (в 5 секунд + случайная цифра от ноля до 15 секунд) решает проблему "восприятия как атаки" на большинстве сайтов - воспринимается как средний человек. А если воспримет как атаку, то можно найти несколько прокси и обойти ограничения (вряд ли проверяют адрес за прокси). И даже все еще есть такие сайты, которые вообще никак не лимитируют количество запросов за единицу времени и интервал между запросами. Как будет свободная минутка - проверю какие критерии у Росреестра.
Нужно сначала найти кадастровый паспорт дома, из него взять все кадастровые номера помещений, а уж потом по списку искать нужные квартиры. Делов если четсно на 5 минут)
 
Цитата
МихаилИгоревич пишет:

Нужно сначала найти кадастровый паспорт дома, из него взять все кадастровые номера помещений, а уж потом по списку искать нужные квартиры. Делов если четсно на 5 минут)
Путь классический, но результат отвратительный обычно получается. Совершенно бесполезная штука.
 
Цитата
Егор пишет:
Цитата
МихаилИгоревич пишет:

Нужно сначала найти кадастровый паспорт дома, из него взять все кадастровые номера помещений, а уж потом по списку искать нужные квартиры. Делов если четсно на 5 минут)
Путь классический, но результат отвратительный обычно получается. Совершенно бесполезная штука.
Ну я так по всем нашим домам сделал, денег не скажу сколько потратил (кому надо тот сам знает), зато все реестры с площадями есть. Если потом не получается справку какую нить по адресу найти я захожу в свой реестр нахожу кадастровый номер и вуаля. Столкнулся с правда с такой хренью - из кн мкд выясняется что в доме всего 4 квартиры а в нем на самом деле 120 квартир. Я позвонил в росреестр и попросил уточнить что за х... и они мне сказали, что если у меня проблемы то я могу обратиться с заявкой. Меня если честно не устраивает такая постановка вопроса и я считаю, что проблемы у них )) Я не стал делать заявку и пока сижу без реестра этого дома, но он маленький и не принципиальный)
 
Цитата
МихаилИгоревич пишет:
Столкнулся с правда с такой хренью - из кн мкд выясняется что в доме всего 4 квартиры а в нем на самом деле 120 квартир.
Это не вы столкнулись с такой хренью - это у вас просто регион с неплохо работающим РР. Там где плохо прямой дуболомный поиск не даёт ничего или совсем мало. На практике простой поиск ниочем.
 
Цитата
Егор пишет:
Цитата
МихаилИгоревич пишет:
Столкнулся с правда с такой хренью - из кн мкд выясняется что в доме всего 4 квартиры а в нем на самом деле 120 квартир.
Это не вы столкнулись с такой хренью - это у вас просто регион с неплохо работающим РР. Там где плохо прямой дуболомный поиск не даёт ничего или совсем мало. На практике простой поиск ниочем.
Спорить не буду, у нас и правда все гут в регионе, но иногда попыхтеть приходится))
 
Цитата
МихаилИгоревич пишет:
Цитата
Егор пишет:
Цитата
МихаилИгоревич пишет:
Столкнулся с правда с такой хренью - из кн мкд выясняется что в доме всего 4 квартиры а в нем на самом деле 120 квартир.
Это не вы столкнулись с такой хренью - это у вас просто регион с неплохо работающим РР. Там где плохо прямой дуболомный поиск не даёт ничего или совсем мало. На практике простой поиск ниочем.
Спорить не буду, у нас и правда все гут в регионе, но иногда попыхтеть приходится))
А какой регион, если не секрет.
 
На всякий случай тут кину...
Работа с РосРеестром через сайт (руками, не интеграция):
Так же на сайте Росреестра имеется такой сервис как "Информационный ресурс ЕГРП".
Подробное описание данного сервиса размещено в Руководстве https://rosreestr.ru/cc_ib_dostup_ir/Ru ... _v_1_6.pdf
 
Мда, вот не могут они просто выгружать большую pdf на каждый город, скажем раз в месяц))) Зато выгрузят не меньшее количество pdf с руководствами как руками по 1 адресу выцепить.
 
я заходил через ключ доступа делал "Запрос к информационному ресурсу ЕГРП", там появляется свою окно поиска. Вбивал адрес дома и вываливались все помещения зарегистрированные в ЕГРП с кадастровыми номерами и площадями. ТАм проверял на "актуальность" данные и скопировал эти таблицы себе. Потом мне бухгалтера выгрузили таблицы с помещениями и я тупо сравнивал площади наши и РР и искал косяки у РР. (например у нас много Нежилых помещений на 4 и 5 этажах МКД, или в той таблице о которой я говорю указано что помещение НЕЖИЛОЕ, но делаем выписку по этому помещению, а там оно ЖИЛОЕ!). Ездил в местный РосРеестр, они сказали "даа, косяк. Но виноваты не мы, наши базы сливаются с еще какими-то базами и оттуда идёт такое несоответствие. Пишите официальным письмом адреса, где есть ошибки, мы исправим". При звонке в техподдержку там сказали примерно "мамайклянюсь КН из ЕГРП и ГКН должны совпадать".
 
Цитата
Егор пишет:
Цитата
МихаилИгоревич пишет:
Цитата
Егор пишет:

Это не вы столкнулись с такой хренью - это у вас просто регион с неплохо работающим РР. Там где плохо прямой дуболомный поиск не даёт ничего или совсем мало. На практике простой поиск ниочем.
Спорить не буду, у нас и правда все гут в регионе, но иногда попыхтеть приходится))
А какой регион, если не секрет.
Санкт-Петербург :)
 
Цитата
two_oceans пишет:
Мда, вот не могут они просто выгружать большую pdf на каждый город, скажем раз в месяц))) Зато выгрузят не меньшее количество pdf с руководствами как руками по 1 адресу выцепить.
Там каждый чих - за деньги, а ты хочешь чтоб так просто вот выложили....
Данные-то публичные ! Любой имеет право заплатить за их получение. 1q2
 
Ну, я понимаю когда там все "точнейшие" детали, которые служба Росреестра собирала "потом и кровью" - за деньги. Хотя по такой логике должны возвращать деньги за каждый найденный "косяк". Еще понимаю когда с ФИО - тогда по полномочиям. Но соответствие КН и адреса квартиры?
Тогда может быть так - поставить "в справочной информации" поиск по всему городу и медленно раз в минуту программно "листать" странички и сохранять к себе в базу. А потом уже из своей базы всякими фильтрами выцеплять.
 
Цитата
two_oceans пишет:
Ну, я понимаю когда там все "точнейшие" детали, которые служба Росреестра собирала "потом и кровью" - за деньги. Хотя по такой логике должны возвращать деньги за каждый найденный "косяк". Еще понимаю когда с ФИО - тогда по полномочиям. Но соответствие КН и адреса квартиры?
Тогда может быть так - поставить "в справочной информации" поиск по всему городу и медленно раз в минуту программно "листать" странички и сохранять к себе в базу. А потом уже из своей базы всякими фильтрами выцеплять.
Есть один момент в этом варианте: не все записи актуальны, там есть и те, которые сняты с регистрации и им присвоен новый кадастровый номер и проверять его на действительность только вручную. я вручную каждое помещение проверял. ошибок у РР море!
 
Цитата
Дамир пишет:
Народ, поделитесь - кто как добывает ГКн-ы для квартир ?
1. Идём в "информационный ресурс ГКН": https://rosreestr.ru/wps/portal/p/cc_ib ... resurs_GKN. Авторизуемся с помощью ЕСИА, платим деньги за 100 запросов, хотя нам понадобится только один.
2. Вводим кадастровый номер здания (его можно узнать, например, запросив кадастровый паспорт земельного участка).
3. Заказываем кадастровую выписку (важно: не кадастровый паспорт).
4. В ответе будет XML. В этом XML - вот такие примерно записи:
[code:nmubfifm]
<Flat CadastralNumber="47:07:9999999:9999" >
<Area>77.7</Area>
<PositionInObject>
<Levels>
<Level Number="5" Type="01">
<Position NumberOnPlan="9999">
</Position>
</Level>
</Levels>
</PositionInObject>
</Flat>
[/code:nmubfifm]
В данном случае - это квартира 9999, имеющая номер 47:07:9999999:9999 и расположенная на пятом этаже.
5. Среди этих записей будет мусор: номера, снятые с учёта, загадочные квартиры без номеров, квартиры, расположенные на двух этажах и т.п. Это всё придётся чистить руками, запрашивая информацию в онлайне по конкретным кадастровым номерам.
6. Если прогнать этот XML через сервис визуализации (https://rosreestr.ru/wps/portal/cc_vizualisation), то информация о номерах квартир потеряется. Так что - выковыривайте напрямую из xml.
7. Я для выковыривания номеров из XML использовал вот такой корявый питоновский скрипт (да, квартиры в доме нумеруются с 761):
[code:nmubfifm]import xml.etree.ElementTree
import sys
import codecs
import re

def main(infiles, outfile):
validFlatNumber = re.compile(u"^[0-9]+(-\u041d)?$")
f = codecs.open(outfile, "w", encoding="utf-8")
flatDict = dict()
for infile in infiles:
root = xml.etree.ElementTree.parse(infile).getroot()
namespaces = {'xmlns': 'urn://x-artefacts-rosreestr-ru/outgoing/kvoks/2.0.5'}
realty = root.find('xmlns:Realty', namespaces)
building = realty.find('xmlns:Building', namespaces)
flats = building.find('xmlns:Flats', namespaces)
for flat in flats.findall('xmlns:Flat', namespaces):
area = flat.find('xmlns:Area', namespaces)
positionInObject = flat.find('xmlns:PositionInObject', namespaces)
levels = positionInObject.find('xmlns:Levels', namespaces)
countNumbers = 0
for level in levels.findall('xmlns:Level', namespaces):
position = level.find('xmlns:Position', namespaces)
number=position.get('NumberOnPlan')
if validFlatNumber.match(number):
countNumbers += 1
#f.write(u"{0}, {1}, {2}\n".format(flat.get('CadastralNumber'), area.text, number))
if not number in flatDict:
flatDict[number] = list()
flatDict[number].append(flat.get('CadastralNumber'))
else:
f.write(u"{0}\n".format(number))
pass
if countNumbers != 1:
f.write(u"{0} - {1}\n".format(flat.get('CadastralNumber'), area.text))

for i in range(761, 1436):
if not str(i) in flatDict or len(flatDict[str(i)]) != 1:
f.write("{0}\n".format(i))

if __name__ == '__main__':
sys.exit(main([sys.argv[2]], sys.argv[3]))
[/code:nmubfifm]
 
Таких парсеров пруд пруди, у нас на VB написан, очень простой, и очень корявый)) Тут задачу не в выковыривании надо ставить, а в бесперебойном получении этих паспортов и справок. Несколько человек на форуме знают как это делать, но не раскроют секрета))
 
Цитата
МихаилИгоревич пишет:
Таких парсеров пруд пруди, у нас на VB написан, очень простой, и очень корявый)) Тут задачу не в выковыривании надо ставить, а в бесперебойном получении этих паспортов и справок. Несколько человек на форуме знают как это делать, но не раскроют секрета))
Да ладно тебе ... Вопрос вовсе не в получении - она как раз примитивна, а в качественном выковыривании, что совсем нетривиально очень часто.
Вчера вот разбирали район один, там нет улицы зато есть более десятка вариантов написания района, в т.ч просто пустое место или несколько пробелов. :)
Вот и автоматизируй это. Часто хочется просто атомизировать криворуких и безголовых сотрудников РР за такую бездарную работу.
 
Цитата
Егор пишет:
Цитата
МихаилИгоревич пишет:
Таких парсеров пруд пруди, у нас на VB написан, очень простой, и очень корявый)) Тут задачу не в выковыривании надо ставить, а в бесперебойном получении этих паспортов и справок. Несколько человек на форуме знают как это делать, но не раскроют секрета))
Да ладно тебе ... Вопрос вовсе не в получении - она как раз примитивна, а в качественном выковыривании, что совсем нетривиально очень часто.
Вчера вот разбирали район один, там нет улицы зато есть более десятка вариантов написания района, в т.ч просто пустое место или несколько пробелов. :)
Вот и автоматизируй это. Часто хочется просто атомизировать криворуких и безголовых сотрудников РР за такую бездарную работу.
Ну у нас все по проще, у нас мало ошибок, но все равно бывает. Где они есть нужно руками смотреть, но все же по моему мнению выковыривать данные между двумя тэгами гораздо проще, чем устраивать множество запросов к серверу программно, т.к. выглядит это как минимум подозрительно. Я конечно предполагаю, что можно прям не выписками а потоком получать xml, но вот как это сделать не могу понять, но очень, очень хочется))
 
Цитата
МихаилИгоревич пишет:
Я конечно предполагаю, что можно прям не выписками а потоком получать xml, но вот как это сделать не могу понять, но очень, очень хочется))
Потоком нельзя. Но это самая простая вещь.
А вот про мало ошибок. Когда мы делали у вас Выборгский район, там было всё очень прилично, кроме проблемы с литерами (когда в ГКН дом один, а лицензия на 2 дома - А и Б).
А вот дойдя до Адмиралтейского ... Мы там круто встряли на старом фонде с кучей нежилых и явно левых помещений. + питерская фишка с ОДИ в ГКН.
Так, что не весь Питер одинаково полезен.
 
Цитата
МихаилИгоревич пишет:
Таких парсеров пруд пруди, у нас на VB написан, очень простой, и очень корявый))
У меня аналогично на VBScript - там организовать HTTP(S) запрос легче легкого. Грубый, потому что не всегда нужно обрабатывать xml или правильные структуры тегов html - иногда на сайтах такого напишут... браузер-то как-то проглатывает, а вот остальные программы могут и подавиться. Так что в функцию передается исходная строка и 2-3 строки поиска (одна строка - начало - уникальная в исходной строке, вторая строка - конец, третья используется, если после первой надо пропустить часть текста) возвращается часть между первой и второй (если третьей нет) либо между третьей и второй (если третья есть). Для XML это меньше подходит из-за пространств имен, но в принципе и таким грубым кривым способом можно вытащить данные.
Цитата
Sergey Cheban пишет:
платим деньги за 100 запросов, хотя нам понадобится только один
Это мне особенно понравилось.
Отдельное спасибо за детальное описание. Как бы дело не в том чтобы выписку получить - тут уже есть сервис(ы), который(е) уже все в Эксель сведет(ут) и базово мусор отфильтрует(ют). Ничего не имею против такого бизнеса - но в выписке много всего лишнего - тот же этаж или площадь квартиры, собственники и т.д. Что, собственно и стоит денег.
Если нужен только ГКН , то начинать с получения выписки примерно как палить из пушки по воробьям. Справочная информация в этом смысле больше подходит. Но, как справедливо тут заметили, без остальной информации крайне сложно отсеять мусор от действительных номеров.
Одну подсказку тут тоже упомянули - в ЕГРП номера нормальные, в ГКН всякие разные. Вывод - если есть такой же номер из ЕГРП, то выше вероятность, что номер нормальный. Полагаю, они могут быть оба устаревшими, так что 100% гарантии это не дает. Но все-таки будет некоторое стартовое значение которое можно попробовать загрузить в ГИС. Если не подошло, то точно нужно заказать платную выписку.
Цитата
МихаилИгоревич пишет:
чем устраивать множество запросов к серверу программно, т.к. выглядит это как минимум подозрительно
Вот с этим я частично соглашусь и частично не соглашусь. Серверы именно для того и существуют, что отвечать на запросы - в этом смысле мне непонятно чего Вы боитесь. Уточню, что человек html мысленно не воспринимает и браузер - тоже программа, как правило посылающая от 16 до 64 запросов одновременно!Серьезно, сейчас практически на любой странице кроме собственно html кода есть пяток таблиц стилей, десяток скриптов, с полсотни картинок (в том числе смайлики и аватары, которые не группируются), у некоторых даже свой шрифт для сайта (например символ рубля нарисовать). Вы же не думаете, что все эти файлы передаются без запросов к серверу?
Ограничение на соединения поставлено не из-за серверов, а из-за количества "полуоткрытых" соединений в Windows - если открыть больше, то операционная система будет выдавать на них ошибку. И даже когда Вы думаете что страничка загрузилась - по факту браузер продолжает время от времени тянуть данные через одно-два соединения (да, различные миниатюры - для закладок, для iPhone в разном разрешении; ротация баннеров; проверка наличия новых сообщений в контакте).
Более того, с помощью ловкости рук и специальных настроек браузера (переключение на следующую вкладку по нажатию клавиши и автоматическая отправка формы/обновление страницы после активации вкладки) можно отправить 10-20 запросов в секунду исключительно руками, не прибегая к скриптам (так например отправляют нападения в некоторых браузерных играх). Итого, ни один сервер ничего "не заподозрит", получив два-три десятка запросов в 1 секунду - это вписывается в характерное для браузеров поведение.

Есть идея как стать "еще милее более похожим" на браузер: в исходящем запросе можно указать 2 (почти взаимоисключающих по смыслу) заголовка - "If-Modified-Since: (дата)" и "Pragma: no-cache". Первый придаст сходства с запросами браузера (так браузер обновляет кэш) - сервер ответит 200 и содержимое страницы если страница изменилась или 304 без содержимого если не изменилась. Второй, если получен от браузера, обязывает сервер выдать страницу, даже если она не изменилась (то есть браузер ее вроде как не поместил в кэш и надо снова отправить). В свое время я платил за интернет по трафику и немало поломал голову куда же уходит трафик, в итоге обнаружил причину в таком сочетании заголовков. Убрал прагму и стало ощутимо дешевле. :lol:

С другой стороны, ясно, что нужно знать меру - 10-20 запросов отправленных в секунду не обрушат сервер, если их и было 20 штук всего. Или если вы отправите 2 тысячи запросов за 2 суток (раз в полторы минуты если округлить), то тоже ничего страшного. Но если отправить 2 тысячи запросов за полчаса (1800 секунд; да с учетом других таких "умников"), то серверу придется туго и конечно вас начнут банить.
 
Собираю номера через iMacros для Firefox.
В файле doma.csv улица, дом, тип улицы (проспект, переулок, проезд и т.д.)
Воспроизвожу циклически, в зависимости от количества домов в doma.csv, потом разгребаю данные из kadastr.csv
[code:21mf354x]for (i = 1; i <= 2; i++){
var macros = '';
var macros2 = '';
var macros3 = '';
var n = '\n';
macros += 'CLEAR' + n;
macros += 'SET !EXTRACT_TEST_POPUP NO.' + n;
macros += 'SET !DATASOURCE_DELIMITER ;' + n;
macros += 'SET !DATASOURCE C:\\111\\doma.csv' + n;
macros += 'SET !ERRORIGNORE YES' + n;
macros += 'SET !DATASOURCE_COLUMNS 3' + n;
macros += 'SET !DATASOURCE_LINE '+ (i+1) + n;
macros += 'SET !LOOP 1' + n;
macros += 'URL GOTO=https://rosreestr.ru/wps/portal/online_request' + n;
macros += 'TAG POS=4 TYPE=INPUT:RADIO FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:search_type' + n;
macros += 'TAG POS=1 TYPE=SELECT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:src_object CONTENT=%1' + n;
macros += 'TAG POS=1 TYPE=SELECT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:street_type CONTENT=%str1' + n;
macros += 'TAG POS=1 TYPE=SELECT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:subject_id CONTENT=%120000000000' + n;
macros += 'TAG POS=1 TYPE=SELECT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:street_type CONTENT=%str{{!COL3}}' + n;
macros += 'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:street CONTENT={{!COL1}}' + n;
macros += 'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:house CONTENT={{!COL2}}' + n;
macros += 'TAG POS=1 TYPE=BUTTON FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=TXT:Сформировать<SP>запрос<SP>»' + n;
macros += 'TAG POS=1 TYPE=TABLE ATTR=TXT:Источник<SP>Адрес<SP>Кадастровый<SP>номер<SP>Условный<SP>ном* EXTRACT=TXT' + n;
macros += 'SAVEAS TYPE=EXTRACT FOLDER="C:\\111\\" FILE="kadastr.csv"' + n;
macros += 'TAG POS=1 TYPE=IMG ATTR=SRC:https://rosreestr.ru/wps/PA_RRORSrviceExtended/images/common/controls/arrows_right.gif' + n;
macros += 'WAIT SECONDS=1' + n;
macros += 'TAG POS=1 TYPE=TABLE ATTR=TXT:Источник<SP>Адрес<SP>Кадастровый<SP>номер<SP>Условный<SP>ном* EXTRACT=TXT' + n;
macros += 'SAVEAS TYPE=EXTRACT FOLDER="C:\\111\\" FILE="kadastr.csv"' + n;

iimPlayCode(macros);

for (;;){

if(iimPlayCode('TAG POS=1 TYPE=IMG ATTR=SRC:https://rosreestr.ru/wps/PA_RRORSrviceExtended/images/common/controls/arrows_right.gif')>0){ //<--- Если найдена надпись, то выполняем то что в след. скобках,
//если найдено
iimPlayCode('TAG POS=1 TYPE=TABLE ATTR=TXT:Источник<SP>Адрес<SP>Кадастровый<SP>номер<SP>Условный<SP>ном* EXTRACT=TXT \n SAVEAS TYPE=EXTRACT FOLDER="C:\\111\\" FILE="kadastr.csv"');
}else{
//если не найдено
break;
}
}

}[/code:21mf354x]
 
Цитата
besfamilnij пишет:
Собираю номера через iMacros для Firefox.
В файле doma.csv улица, дом, тип улицы (проспект, переулок, проезд и т.д.)
Воспроизвожу циклически, в зависимости от количества домов в doma.csv, потом разгребаю данные из kadastr.csv
[code:qty0rwfy]for (i = 1; i <= 2; i++){
var macros = '';
var macros2 = '';
var macros3 = '';
var n = '\n';
macros += 'CLEAR' + n;
macros += 'SET !EXTRACT_TEST_POPUP NO.' + n;
macros += 'SET !DATASOURCE_DELIMITER ;' + n;
macros += 'SET !DATASOURCE C:\\111\\doma.csv' + n;
macros += 'SET !ERRORIGNORE YES' + n;
macros += 'SET !DATASOURCE_COLUMNS 3' + n;
macros += 'SET !DATASOURCE_LINE '+ (i+1) + n;
macros += 'SET !LOOP 1' + n;
macros += 'URL GOTO=https://rosreestr.ru/wps/portal/online_request' + n;
macros += 'TAG POS=4 TYPE=INPUT:RADIO FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:search_type' + n;
macros += 'TAG POS=1 TYPE=SELECT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:src_object CONTENT=%1' + n;
macros += 'TAG POS=1 TYPE=SELECT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:street_type CONTENT=%str1' + n;
macros += 'TAG POS=1 TYPE=SELECT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:subject_id CONTENT=%120000000000' + n;
macros += 'TAG POS=1 TYPE=SELECT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:street_type CONTENT=%str{{!COL3}}' + n;
macros += 'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:street CONTENT={{!COL1}}' + n;
macros += 'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:house CONTENT={{!COL2}}' + n;
macros += 'TAG POS=1 TYPE=BUTTON FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=TXT:Сформировать<SP>запрос<SP>»' + n;
macros += 'TAG POS=1 TYPE=TABLE ATTR=TXT:Источник<SP>Адрес<SP>Кадастровый<SP>номер<SP>Условный<SP>ном* EXTRACT=TXT' + n;
macros += 'SAVEAS TYPE=EXTRACT FOLDER="C:\\111\\" FILE="kadastr.csv"' + n;
macros += 'TAG POS=1 TYPE=IMG ATTR=SRC:https://rosreestr.ru/wps/PA_RRORSrviceExtended/images/common/controls/arrows_right.gif' + n;
macros += 'WAIT SECONDS=1' + n;
macros += 'TAG POS=1 TYPE=TABLE ATTR=TXT:Источник<SP>Адрес<SP>Кадастровый<SP>номер<SP>Условный<SP>ном* EXTRACT=TXT' + n;
macros += 'SAVEAS TYPE=EXTRACT FOLDER="C:\\111\\" FILE="kadastr.csv"' + n;

iimPlayCode(macros);

for (;;){

if(iimPlayCode('TAG POS=1 TYPE=IMG ATTR=SRC:https://rosreestr.ru/wps/PA_RRORSrviceExtended/images/common/controls/arrows_right.gif')>0){ //<--- Если найдена надпись, то выполняем то что в след. скобках,
//если найдено
iimPlayCode('TAG POS=1 TYPE=TABLE ATTR=TXT:Источник<SP>Адрес<SP>Кадастровый<SP>номер<SP>Условный<SP>ном* EXTRACT=TXT \n SAVEAS TYPE=EXTRACT FOLDER="C:\\111\\" FILE="kadastr.csv"');
}else{
//если не найдено
break;
}
}

}[/code:qty0rwfy]
Если не сложно-выложите, пожалуйста, пример файла doma.csv
#1
0 0
Народ, поделитесь - кто как добывает ГКн-ы для квартир ?
При загрузке жил.помещений через шаблоны необходимо указывать ГКН - ставить 'нет' неправильно.
Вопрос: откуда их брать?
На сайте Росреестра можно по адресу найти этот ГКН (онлайн сервис).
Но для УК-шки нереально садить операторов на эту работу (да и ошибкоопасно это).
Есть ли способ программно решить эту проблему ?

Отправлено спустя 8 минуты 58 секунды:
Моё частное мнение - этой проблемой должна заниматься сама ГИС.
Т.е. мы уже даем в шаблоне [ФИАС_Гуид дома] + [номер кв.] и этого достаточно для вычисления ГКН.
но раз уж так вышло, как сейчас, то вопрос - а как бы с Росреестра вытянуть эти ГКН-ы по адресу?
#2
0 0
Цитата
Дамир пишет:
Моё частное мнение - этой проблемой должна заниматься сама ГИС.
мое частное мнение, что заполнять дома шаблонами не стоит, так как при ручной привязке дома к ГКН, автоматически добавляются связанные с ним квартиры, достаточно потом просто проверить список помещений и удалить лишнее/добавить недостающее.

И нет, отсутствие у вас какой-либо информации это не проблема ГИС.
#3
0 0
Моё частное мнение, что работать надо шаблонами (если нет апи интеграции).
До шаблонов надо провести нормальный аудит данных.
Грузить ГКН ручной привязкой считаю не вариантом совсем. Во первых ГИС не умеет нормально работать с РР, как и большинство сторонних сервисов. ЕГРП содержит много ошибок, а ГКН - аццкая помойка, разобраться в которой может только очень профессиональный персонал при наличии нормального софта. :)
Сама ГИС не может этим заниматься ещё и потому, что они не способны понять, например, какой из 5 ГКН с разными КН и прощадями нужно взять и сколько на эти 5 ГКН с одним номером приходится помещений. (А приходиться их может от 0 до бесконечности :) )
#4
0 0
Цитата
Дамир пишет:
На сайте Росреестра можно по адресу найти этот ГКН (онлайн сервис).
Хорошо, что можно. Ради интереса попробовал найти и... не нашел :D Наверное, не там искал. Вообще говоря, все, что есть в виде онлайн сервисов и не защищено ЭП легко имитировать (с ЭП посложнее - там еще плагины подпись формируют) - посмотреть исходный текст формы, сформировать аналогичный форме http запрос и проанализировать ответ (отфильтровать меню, формы и прочее, потом выяснить - получен номер или ошибка). В случае авторизации на сайте нужно еще посмотреть в браузере содержимое куки и добавить его к запросу.
Для подобного (например, получить список обновлений Windows или скачать переведенную главу книжки) я обычно использую VBScript (XMLHTTP Request), но можно для этого же использовать Эксель и VBA - брать данные адреса из открытого шаблона и заполнять ответ в шаблон. Кажется в прошлом году писал модуль VBA для вытаскивания в Эксель с сайта ИКИО ФИО членов УИК, если интересует - поищу, переделаете под КН.
Главное, чтобы полезный ответ был. Но если найдется несколько результатов, то любая программа окажется в затруднительном положении и все же придется вручную проверять.
#5
0 0
Цитата
Егор пишет:
Грузить ГКН ручной привязкой считаю не вариантом совсем.
Допустим, вариант "загружаем жилые помещения шаблонами с заполненными ГКН"....
По 1-2-3 квартирам можно с сайта РР достать руками (есть у них 'онлайн'-сервис).
Как достаете ГКН-ы ?

Отправлено спустя 3 минуты 48 секунды:
Цитата
two_oceans пишет:
Ради интереса попробовал найти и... не нашел :D Наверное, не там искал.
Чтобы понятно было о чём я говорю - ссылка (на нее есть переход с корневой страницы РР)
https://rosreestr.ru/wps/portal/online_request

Позволяет по адресу найти ГКН.
#6
0 0
Спасибо. Значит я правильно искал и тогда, наверно, в упор не понимаю, как заполнить адрес - если заполнять все поля последовательно, то в итоге выдает, что "Не найдены данные" и очищает данные о районе - городе.
#7
0 0
Цитата
two_oceans пишет:
... не понимаю, как заполнить адрес - если заполнять все поля последовательно, то в итоге выдает, что "Не найдены данные" и очищает данные о районе - городе.
Видик есть - с 50-ой секунды есть что-то: https://rosreestr.ru/site/fiz/
1) переключить режим (радиокнопка справа) на поиск по адресу
2) После области, почему-то в район - ввожу город (иначе не дает ввести)
3) потом вид улицы, улица, дом, квартира
и... все находит (ГКН).
но это сервис для частного лица.
Если программно начать туда долбиться (слать запросы) - это может быть воспринято как атака на сервер.
#8
0 0
Спасибо. Ясно, без ввода типа населенного пункта и населенного пункта все же нашлось - 4 записи (2 пары), а у соседней муниципальной квартиры - ноль. И как теперь выбрать - один номер без указания области (но номер начинается характерно, так что явно с нашей области), второй с указанием.
Как правило, задержка между запросами (в 5 секунд + случайная цифра от ноля до 15 секунд) решает проблему "восприятия как атаки" на большинстве сайтов - воспринимается как средний человек. А если воспримет как атаку, то можно найти несколько прокси и обойти ограничения (вряд ли проверяют адрес за прокси). И даже все еще есть такие сайты, которые вообще никак не лимитируют количество запросов за единицу времени и интервал между запросами. Как будет свободная минутка - проверю какие критерии у Росреестра.
#9
0 0
Цитата
two_oceans пишет:
Спасибо. Ясно, без ввода типа населенного пункта и населенного пункта все же нашлось - 4 записи (2 пары), а у соседней муниципальной квартиры - ноль. И как теперь выбрать - один номер без указания области (но номер начинается характерно, так что явно с нашей области), второй с указанием.
Как правило, задержка между запросами (в 5 секунд + случайная цифра от ноля до 15 секунд) решает проблему "восприятия как атаки" на большинстве сайтов - воспринимается как средний человек. А если воспримет как атаку, то можно найти несколько прокси и обойти ограничения (вряд ли проверяют адрес за прокси). И даже все еще есть такие сайты, которые вообще никак не лимитируют количество запросов за единицу времени и интервал между запросами. Как будет свободная минутка - проверю какие критерии у Росреестра.
Нужно сначала найти кадастровый паспорт дома, из него взять все кадастровые номера помещений, а уж потом по списку искать нужные квартиры. Делов если четсно на 5 минут)
#10
0 0
Цитата
МихаилИгоревич пишет:

Нужно сначала найти кадастровый паспорт дома, из него взять все кадастровые номера помещений, а уж потом по списку искать нужные квартиры. Делов если четсно на 5 минут)
Путь классический, но результат отвратительный обычно получается. Совершенно бесполезная штука.
#11
0 0
Цитата
Егор пишет:
Цитата
МихаилИгоревич пишет:

Нужно сначала найти кадастровый паспорт дома, из него взять все кадастровые номера помещений, а уж потом по списку искать нужные квартиры. Делов если четсно на 5 минут)
Путь классический, но результат отвратительный обычно получается. Совершенно бесполезная штука.
Ну я так по всем нашим домам сделал, денег не скажу сколько потратил (кому надо тот сам знает), зато все реестры с площадями есть. Если потом не получается справку какую нить по адресу найти я захожу в свой реестр нахожу кадастровый номер и вуаля. Столкнулся с правда с такой хренью - из кн мкд выясняется что в доме всего 4 квартиры а в нем на самом деле 120 квартир. Я позвонил в росреестр и попросил уточнить что за х... и они мне сказали, что если у меня проблемы то я могу обратиться с заявкой. Меня если честно не устраивает такая постановка вопроса и я считаю, что проблемы у них )) Я не стал делать заявку и пока сижу без реестра этого дома, но он маленький и не принципиальный)
#12
0 0
Цитата
МихаилИгоревич пишет:
Столкнулся с правда с такой хренью - из кн мкд выясняется что в доме всего 4 квартиры а в нем на самом деле 120 квартир.
Это не вы столкнулись с такой хренью - это у вас просто регион с неплохо работающим РР. Там где плохо прямой дуболомный поиск не даёт ничего или совсем мало. На практике простой поиск ниочем.
#13
0 0
Цитата
Егор пишет:
Цитата
МихаилИгоревич пишет:
Столкнулся с правда с такой хренью - из кн мкд выясняется что в доме всего 4 квартиры а в нем на самом деле 120 квартир.
Это не вы столкнулись с такой хренью - это у вас просто регион с неплохо работающим РР. Там где плохо прямой дуболомный поиск не даёт ничего или совсем мало. На практике простой поиск ниочем.
Спорить не буду, у нас и правда все гут в регионе, но иногда попыхтеть приходится))
#14
0 0
Цитата
МихаилИгоревич пишет:
Цитата
Егор пишет:
Цитата
МихаилИгоревич пишет:
Столкнулся с правда с такой хренью - из кн мкд выясняется что в доме всего 4 квартиры а в нем на самом деле 120 квартир.
Это не вы столкнулись с такой хренью - это у вас просто регион с неплохо работающим РР. Там где плохо прямой дуболомный поиск не даёт ничего или совсем мало. На практике простой поиск ниочем.
Спорить не буду, у нас и правда все гут в регионе, но иногда попыхтеть приходится))
А какой регион, если не секрет.
#15
0 0
На всякий случай тут кину...
Работа с РосРеестром через сайт (руками, не интеграция):
Так же на сайте Росреестра имеется такой сервис как "Информационный ресурс ЕГРП".
Подробное описание данного сервиса размещено в Руководстве https://rosreestr.ru/cc_ib_dostup_ir/Ru ... _v_1_6.pdf
#16
0 0
Мда, вот не могут они просто выгружать большую pdf на каждый город, скажем раз в месяц))) Зато выгрузят не меньшее количество pdf с руководствами как руками по 1 адресу выцепить.
#17
0 0
я заходил через ключ доступа делал "Запрос к информационному ресурсу ЕГРП", там появляется свою окно поиска. Вбивал адрес дома и вываливались все помещения зарегистрированные в ЕГРП с кадастровыми номерами и площадями. ТАм проверял на "актуальность" данные и скопировал эти таблицы себе. Потом мне бухгалтера выгрузили таблицы с помещениями и я тупо сравнивал площади наши и РР и искал косяки у РР. (например у нас много Нежилых помещений на 4 и 5 этажах МКД, или в той таблице о которой я говорю указано что помещение НЕЖИЛОЕ, но делаем выписку по этому помещению, а там оно ЖИЛОЕ!). Ездил в местный РосРеестр, они сказали "даа, косяк. Но виноваты не мы, наши базы сливаются с еще какими-то базами и оттуда идёт такое несоответствие. Пишите официальным письмом адреса, где есть ошибки, мы исправим". При звонке в техподдержку там сказали примерно "мамайклянюсь КН из ЕГРП и ГКН должны совпадать".
#18
0 0
Цитата
Егор пишет:
Цитата
МихаилИгоревич пишет:
Цитата
Егор пишет:

Это не вы столкнулись с такой хренью - это у вас просто регион с неплохо работающим РР. Там где плохо прямой дуболомный поиск не даёт ничего или совсем мало. На практике простой поиск ниочем.
Спорить не буду, у нас и правда все гут в регионе, но иногда попыхтеть приходится))
А какой регион, если не секрет.
Санкт-Петербург :)
#19
0 0
Цитата
two_oceans пишет:
Мда, вот не могут они просто выгружать большую pdf на каждый город, скажем раз в месяц))) Зато выгрузят не меньшее количество pdf с руководствами как руками по 1 адресу выцепить.
Там каждый чих - за деньги, а ты хочешь чтоб так просто вот выложили....
Данные-то публичные ! Любой имеет право заплатить за их получение. 1q2
#20
0 0
Ну, я понимаю когда там все "точнейшие" детали, которые служба Росреестра собирала "потом и кровью" - за деньги. Хотя по такой логике должны возвращать деньги за каждый найденный "косяк". Еще понимаю когда с ФИО - тогда по полномочиям. Но соответствие КН и адреса квартиры?
Тогда может быть так - поставить "в справочной информации" поиск по всему городу и медленно раз в минуту программно "листать" странички и сохранять к себе в базу. А потом уже из своей базы всякими фильтрами выцеплять.
#21
0 0
Цитата
two_oceans пишет:
Ну, я понимаю когда там все "точнейшие" детали, которые служба Росреестра собирала "потом и кровью" - за деньги. Хотя по такой логике должны возвращать деньги за каждый найденный "косяк". Еще понимаю когда с ФИО - тогда по полномочиям. Но соответствие КН и адреса квартиры?
Тогда может быть так - поставить "в справочной информации" поиск по всему городу и медленно раз в минуту программно "листать" странички и сохранять к себе в базу. А потом уже из своей базы всякими фильтрами выцеплять.
Есть один момент в этом варианте: не все записи актуальны, там есть и те, которые сняты с регистрации и им присвоен новый кадастровый номер и проверять его на действительность только вручную. я вручную каждое помещение проверял. ошибок у РР море!
#22
0 0
Цитата
Дамир пишет:
Народ, поделитесь - кто как добывает ГКн-ы для квартир ?
1. Идём в "информационный ресурс ГКН": https://rosreestr.ru/wps/portal/p/cc_ib ... resurs_GKN. Авторизуемся с помощью ЕСИА, платим деньги за 100 запросов, хотя нам понадобится только один.
2. Вводим кадастровый номер здания (его можно узнать, например, запросив кадастровый паспорт земельного участка).
3. Заказываем кадастровую выписку (важно: не кадастровый паспорт).
4. В ответе будет XML. В этом XML - вот такие примерно записи:
[code:nmubfifm]
<Flat CadastralNumber="47:07:9999999:9999" >
<Area>77.7</Area>
<PositionInObject>
<Levels>
<Level Number="5" Type="01">
<Position NumberOnPlan="9999">
</Position>
</Level>
</Levels>
</PositionInObject>
</Flat>
[/code:nmubfifm]
В данном случае - это квартира 9999, имеющая номер 47:07:9999999:9999 и расположенная на пятом этаже.
5. Среди этих записей будет мусор: номера, снятые с учёта, загадочные квартиры без номеров, квартиры, расположенные на двух этажах и т.п. Это всё придётся чистить руками, запрашивая информацию в онлайне по конкретным кадастровым номерам.
6. Если прогнать этот XML через сервис визуализации (https://rosreestr.ru/wps/portal/cc_vizualisation), то информация о номерах квартир потеряется. Так что - выковыривайте напрямую из xml.
7. Я для выковыривания номеров из XML использовал вот такой корявый питоновский скрипт (да, квартиры в доме нумеруются с 761):
[code:nmubfifm]import xml.etree.ElementTree
import sys
import codecs
import re

def main(infiles, outfile):
validFlatNumber = re.compile(u"^[0-9]+(-\u041d)?$")
f = codecs.open(outfile, "w", encoding="utf-8")
flatDict = dict()
for infile in infiles:
root = xml.etree.ElementTree.parse(infile).getroot()
namespaces = {'xmlns': 'urn://x-artefacts-rosreestr-ru/outgoing/kvoks/2.0.5'}
realty = root.find('xmlns:Realty', namespaces)
building = realty.find('xmlns:Building', namespaces)
flats = building.find('xmlns:Flats', namespaces)
for flat in flats.findall('xmlns:Flat', namespaces):
area = flat.find('xmlns:Area', namespaces)
positionInObject = flat.find('xmlns:PositionInObject', namespaces)
levels = positionInObject.find('xmlns:Levels', namespaces)
countNumbers = 0
for level in levels.findall('xmlns:Level', namespaces):
position = level.find('xmlns:Position', namespaces)
number=position.get('NumberOnPlan')
if validFlatNumber.match(number):
countNumbers += 1
#f.write(u"{0}, {1}, {2}\n".format(flat.get('CadastralNumber'), area.text, number))
if not number in flatDict:
flatDict[number] = list()
flatDict[number].append(flat.get('CadastralNumber'))
else:
f.write(u"{0}\n".format(number))
pass
if countNumbers != 1:
f.write(u"{0} - {1}\n".format(flat.get('CadastralNumber'), area.text))

for i in range(761, 1436):
if not str(i) in flatDict or len(flatDict[str(i)]) != 1:
f.write("{0}\n".format(i))

if __name__ == '__main__':
sys.exit(main([sys.argv[2]], sys.argv[3]))
[/code:nmubfifm]
#23
0 0
Таких парсеров пруд пруди, у нас на VB написан, очень простой, и очень корявый)) Тут задачу не в выковыривании надо ставить, а в бесперебойном получении этих паспортов и справок. Несколько человек на форуме знают как это делать, но не раскроют секрета))
#24
0 0
Цитата
МихаилИгоревич пишет:
Таких парсеров пруд пруди, у нас на VB написан, очень простой, и очень корявый)) Тут задачу не в выковыривании надо ставить, а в бесперебойном получении этих паспортов и справок. Несколько человек на форуме знают как это делать, но не раскроют секрета))
Да ладно тебе ... Вопрос вовсе не в получении - она как раз примитивна, а в качественном выковыривании, что совсем нетривиально очень часто.
Вчера вот разбирали район один, там нет улицы зато есть более десятка вариантов написания района, в т.ч просто пустое место или несколько пробелов. :)
Вот и автоматизируй это. Часто хочется просто атомизировать криворуких и безголовых сотрудников РР за такую бездарную работу.
#25
0 0
Цитата
Егор пишет:
Цитата
МихаилИгоревич пишет:
Таких парсеров пруд пруди, у нас на VB написан, очень простой, и очень корявый)) Тут задачу не в выковыривании надо ставить, а в бесперебойном получении этих паспортов и справок. Несколько человек на форуме знают как это делать, но не раскроют секрета))
Да ладно тебе ... Вопрос вовсе не в получении - она как раз примитивна, а в качественном выковыривании, что совсем нетривиально очень часто.
Вчера вот разбирали район один, там нет улицы зато есть более десятка вариантов написания района, в т.ч просто пустое место или несколько пробелов. :)
Вот и автоматизируй это. Часто хочется просто атомизировать криворуких и безголовых сотрудников РР за такую бездарную работу.
Ну у нас все по проще, у нас мало ошибок, но все равно бывает. Где они есть нужно руками смотреть, но все же по моему мнению выковыривать данные между двумя тэгами гораздо проще, чем устраивать множество запросов к серверу программно, т.к. выглядит это как минимум подозрительно. Я конечно предполагаю, что можно прям не выписками а потоком получать xml, но вот как это сделать не могу понять, но очень, очень хочется))
#26
0 0
Цитата
МихаилИгоревич пишет:
Я конечно предполагаю, что можно прям не выписками а потоком получать xml, но вот как это сделать не могу понять, но очень, очень хочется))
Потоком нельзя. Но это самая простая вещь.
А вот про мало ошибок. Когда мы делали у вас Выборгский район, там было всё очень прилично, кроме проблемы с литерами (когда в ГКН дом один, а лицензия на 2 дома - А и Б).
А вот дойдя до Адмиралтейского ... Мы там круто встряли на старом фонде с кучей нежилых и явно левых помещений. + питерская фишка с ОДИ в ГКН.
Так, что не весь Питер одинаково полезен.
#27
0 0
Цитата
МихаилИгоревич пишет:
Таких парсеров пруд пруди, у нас на VB написан, очень простой, и очень корявый))
У меня аналогично на VBScript - там организовать HTTP(S) запрос легче легкого. Грубый, потому что не всегда нужно обрабатывать xml или правильные структуры тегов html - иногда на сайтах такого напишут... браузер-то как-то проглатывает, а вот остальные программы могут и подавиться. Так что в функцию передается исходная строка и 2-3 строки поиска (одна строка - начало - уникальная в исходной строке, вторая строка - конец, третья используется, если после первой надо пропустить часть текста) возвращается часть между первой и второй (если третьей нет) либо между третьей и второй (если третья есть). Для XML это меньше подходит из-за пространств имен, но в принципе и таким грубым кривым способом можно вытащить данные.
Цитата
Sergey Cheban пишет:
платим деньги за 100 запросов, хотя нам понадобится только один
Это мне особенно понравилось.
Отдельное спасибо за детальное описание. Как бы дело не в том чтобы выписку получить - тут уже есть сервис(ы), который(е) уже все в Эксель сведет(ут) и базово мусор отфильтрует(ют). Ничего не имею против такого бизнеса - но в выписке много всего лишнего - тот же этаж или площадь квартиры, собственники и т.д. Что, собственно и стоит денег.
Если нужен только ГКН , то начинать с получения выписки примерно как палить из пушки по воробьям. Справочная информация в этом смысле больше подходит. Но, как справедливо тут заметили, без остальной информации крайне сложно отсеять мусор от действительных номеров.
Одну подсказку тут тоже упомянули - в ЕГРП номера нормальные, в ГКН всякие разные. Вывод - если есть такой же номер из ЕГРП, то выше вероятность, что номер нормальный. Полагаю, они могут быть оба устаревшими, так что 100% гарантии это не дает. Но все-таки будет некоторое стартовое значение которое можно попробовать загрузить в ГИС. Если не подошло, то точно нужно заказать платную выписку.
Цитата
МихаилИгоревич пишет:
чем устраивать множество запросов к серверу программно, т.к. выглядит это как минимум подозрительно
Вот с этим я частично соглашусь и частично не соглашусь. Серверы именно для того и существуют, что отвечать на запросы - в этом смысле мне непонятно чего Вы боитесь. Уточню, что человек html мысленно не воспринимает и браузер - тоже программа, как правило посылающая от 16 до 64 запросов одновременно!Серьезно, сейчас практически на любой странице кроме собственно html кода есть пяток таблиц стилей, десяток скриптов, с полсотни картинок (в том числе смайлики и аватары, которые не группируются), у некоторых даже свой шрифт для сайта (например символ рубля нарисовать). Вы же не думаете, что все эти файлы передаются без запросов к серверу?
Ограничение на соединения поставлено не из-за серверов, а из-за количества "полуоткрытых" соединений в Windows - если открыть больше, то операционная система будет выдавать на них ошибку. И даже когда Вы думаете что страничка загрузилась - по факту браузер продолжает время от времени тянуть данные через одно-два соединения (да, различные миниатюры - для закладок, для iPhone в разном разрешении; ротация баннеров; проверка наличия новых сообщений в контакте).
Более того, с помощью ловкости рук и специальных настроек браузера (переключение на следующую вкладку по нажатию клавиши и автоматическая отправка формы/обновление страницы после активации вкладки) можно отправить 10-20 запросов в секунду исключительно руками, не прибегая к скриптам (так например отправляют нападения в некоторых браузерных играх). Итого, ни один сервер ничего "не заподозрит", получив два-три десятка запросов в 1 секунду - это вписывается в характерное для браузеров поведение.

Есть идея как стать "еще милее более похожим" на браузер: в исходящем запросе можно указать 2 (почти взаимоисключающих по смыслу) заголовка - "If-Modified-Since: (дата)" и "Pragma: no-cache". Первый придаст сходства с запросами браузера (так браузер обновляет кэш) - сервер ответит 200 и содержимое страницы если страница изменилась или 304 без содержимого если не изменилась. Второй, если получен от браузера, обязывает сервер выдать страницу, даже если она не изменилась (то есть браузер ее вроде как не поместил в кэш и надо снова отправить). В свое время я платил за интернет по трафику и немало поломал голову куда же уходит трафик, в итоге обнаружил причину в таком сочетании заголовков. Убрал прагму и стало ощутимо дешевле. :lol:

С другой стороны, ясно, что нужно знать меру - 10-20 запросов отправленных в секунду не обрушат сервер, если их и было 20 штук всего. Или если вы отправите 2 тысячи запросов за 2 суток (раз в полторы минуты если округлить), то тоже ничего страшного. Но если отправить 2 тысячи запросов за полчаса (1800 секунд; да с учетом других таких "умников"), то серверу придется туго и конечно вас начнут банить.
#28
0 0
Собираю номера через iMacros для Firefox.
В файле doma.csv улица, дом, тип улицы (проспект, переулок, проезд и т.д.)
Воспроизвожу циклически, в зависимости от количества домов в doma.csv, потом разгребаю данные из kadastr.csv
[code:21mf354x]for (i = 1; i <= 2; i++){
var macros = '';
var macros2 = '';
var macros3 = '';
var n = '\n';
macros += 'CLEAR' + n;
macros += 'SET !EXTRACT_TEST_POPUP NO.' + n;
macros += 'SET !DATASOURCE_DELIMITER ;' + n;
macros += 'SET !DATASOURCE C:\\111\\doma.csv' + n;
macros += 'SET !ERRORIGNORE YES' + n;
macros += 'SET !DATASOURCE_COLUMNS 3' + n;
macros += 'SET !DATASOURCE_LINE '+ (i+1) + n;
macros += 'SET !LOOP 1' + n;
macros += 'URL GOTO=https://rosreestr.ru/wps/portal/online_request' + n;
macros += 'TAG POS=4 TYPE=INPUT:RADIO FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:search_type' + n;
macros += 'TAG POS=1 TYPE=SELECT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:src_object CONTENT=%1' + n;
macros += 'TAG POS=1 TYPE=SELECT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:street_type CONTENT=%str1' + n;
macros += 'TAG POS=1 TYPE=SELECT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:subject_id CONTENT=%120000000000' + n;
macros += 'TAG POS=1 TYPE=SELECT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:street_type CONTENT=%str{{!COL3}}' + n;
macros += 'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:street CONTENT={{!COL1}}' + n;
macros += 'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:house CONTENT={{!COL2}}' + n;
macros += 'TAG POS=1 TYPE=BUTTON FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=TXT:Сформировать<SP>запрос<SP>»' + n;
macros += 'TAG POS=1 TYPE=TABLE ATTR=TXT:Источник<SP>Адрес<SP>Кадастровый<SP>номер<SP>Условный<SP>ном* EXTRACT=TXT' + n;
macros += 'SAVEAS TYPE=EXTRACT FOLDER="C:\\111\\" FILE="kadastr.csv"' + n;
macros += 'TAG POS=1 TYPE=IMG ATTR=SRC:https://rosreestr.ru/wps/PA_RRORSrviceExtended/images/common/controls/arrows_right.gif' + n;
macros += 'WAIT SECONDS=1' + n;
macros += 'TAG POS=1 TYPE=TABLE ATTR=TXT:Источник<SP>Адрес<SP>Кадастровый<SP>номер<SP>Условный<SP>ном* EXTRACT=TXT' + n;
macros += 'SAVEAS TYPE=EXTRACT FOLDER="C:\\111\\" FILE="kadastr.csv"' + n;

iimPlayCode(macros);

for (;;){

if(iimPlayCode('TAG POS=1 TYPE=IMG ATTR=SRC:https://rosreestr.ru/wps/PA_RRORSrviceExtended/images/common/controls/arrows_right.gif')>0){ //<--- Если найдена надпись, то выполняем то что в след. скобках,
//если найдено
iimPlayCode('TAG POS=1 TYPE=TABLE ATTR=TXT:Источник<SP>Адрес<SP>Кадастровый<SP>номер<SP>Условный<SP>ном* EXTRACT=TXT \n SAVEAS TYPE=EXTRACT FOLDER="C:\\111\\" FILE="kadastr.csv"');
}else{
//если не найдено
break;
}
}

}[/code:21mf354x]
#29
0 0
Цитата
besfamilnij пишет:
Собираю номера через iMacros для Firefox.
В файле doma.csv улица, дом, тип улицы (проспект, переулок, проезд и т.д.)
Воспроизвожу циклически, в зависимости от количества домов в doma.csv, потом разгребаю данные из kadastr.csv
[code:qty0rwfy]for (i = 1; i <= 2; i++){
var macros = '';
var macros2 = '';
var macros3 = '';
var n = '\n';
macros += 'CLEAR' + n;
macros += 'SET !EXTRACT_TEST_POPUP NO.' + n;
macros += 'SET !DATASOURCE_DELIMITER ;' + n;
macros += 'SET !DATASOURCE C:\\111\\doma.csv' + n;
macros += 'SET !ERRORIGNORE YES' + n;
macros += 'SET !DATASOURCE_COLUMNS 3' + n;
macros += 'SET !DATASOURCE_LINE '+ (i+1) + n;
macros += 'SET !LOOP 1' + n;
macros += 'URL GOTO=https://rosreestr.ru/wps/portal/online_request' + n;
macros += 'TAG POS=4 TYPE=INPUT:RADIO FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:search_type' + n;
macros += 'TAG POS=1 TYPE=SELECT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:src_object CONTENT=%1' + n;
macros += 'TAG POS=1 TYPE=SELECT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:street_type CONTENT=%str1' + n;
macros += 'TAG POS=1 TYPE=SELECT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:subject_id CONTENT=%120000000000' + n;
macros += 'TAG POS=1 TYPE=SELECT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:street_type CONTENT=%str{{!COL3}}' + n;
macros += 'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:street CONTENT={{!COL1}}' + n;
macros += 'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=NAME:house CONTENT={{!COL2}}' + n;
macros += 'TAG POS=1 TYPE=BUTTON FORM=NAME:ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm ATTR=TXT:Сформировать<SP>запрос<SP>»' + n;
macros += 'TAG POS=1 TYPE=TABLE ATTR=TXT:Источник<SP>Адрес<SP>Кадастровый<SP>номер<SP>Условный<SP>ном* EXTRACT=TXT' + n;
macros += 'SAVEAS TYPE=EXTRACT FOLDER="C:\\111\\" FILE="kadastr.csv"' + n;
macros += 'TAG POS=1 TYPE=IMG ATTR=SRC:https://rosreestr.ru/wps/PA_RRORSrviceExtended/images/common/controls/arrows_right.gif' + n;
macros += 'WAIT SECONDS=1' + n;
macros += 'TAG POS=1 TYPE=TABLE ATTR=TXT:Источник<SP>Адрес<SP>Кадастровый<SP>номер<SP>Условный<SP>ном* EXTRACT=TXT' + n;
macros += 'SAVEAS TYPE=EXTRACT FOLDER="C:\\111\\" FILE="kadastr.csv"' + n;

iimPlayCode(macros);

for (;;){

if(iimPlayCode('TAG POS=1 TYPE=IMG ATTR=SRC:https://rosreestr.ru/wps/PA_RRORSrviceExtended/images/common/controls/arrows_right.gif')>0){ //<--- Если найдена надпись, то выполняем то что в след. скобках,
//если найдено
iimPlayCode('TAG POS=1 TYPE=TABLE ATTR=TXT:Источник<SP>Адрес<SP>Кадастровый<SP>номер<SP>Условный<SP>ном* EXTRACT=TXT \n SAVEAS TYPE=EXTRACT FOLDER="C:\\111\\" FILE="kadastr.csv"');
}else{
//если не найдено
break;
}
}

}[/code:qty0rwfy]
Если не сложно-выложите, пожалуйста, пример файла doma.csv
Сейчас на форуме никого нет :(
Сейчас на форуме никого нет :(

Для улучшения работы сайта и его взаимодействие с пользователями мы используем файлы cookie. Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Вы всегда можете отключить файлы cookie в настройках браузера.

Подпишись на рассылку новостей ЖКХ, а также наших статей!

Спасибо, вы успешно подписались на рассылку!