Pull to refresh

Comments 42

А если хотите сразу вжжжжух и данные
в таблицы?
Например в простенький csv. Онлайн конверторы, что-то пасуют.

Зачем онлайн? Пишем простенький скрипт с перебором джейсона /хмл и выводом через принт с использованием форматирования. Перенаправляем stdout в файлик и вуаля, даже записывать файлики программно не пришлось. Хотя я обычно халтурю и копипасчу прямо из консоли pycharm

Зачем онлайн?
Ну пусть будет из-за упоминания в конце статьи.
Онлайн-конверторы пасуют, потому что там довольно сложный json. В «простенький csv», конечно же, можно, но его лучше сразу взять на безопасныедороги.рф/opendata. json приходится грузить только из-за детализации самого ДТП, там много вложенных разделов: про водителя, про машину и еще что-то. делаем csv = теряем эти данные. Либо нужно делать несколько связанных csv.
Пару месяцев назад для общественного проекта тоже использовал эти данные. Собрал небольшой интерфейс для анализа и информационные файлы за 3 года (2015, 2016, 2017) по Красноярску и Кирову. В процессе анализа выяснилось, что данные по координатам инспекторы забивают откровенно плохо. Постоянно теряют цифры, меняют их местами, просто левые какие-то данные вносят. Поэтому по итогу пришлось прогонять через геокодирование Яндекса для уточнения. Если кому интересно — dtpstat.ru и файл для Красноярска ( yadi.sk/d/5jDgUtGM3VCYmw ) и Кирова ( yadi.sk/d/AyX0hjzE3VCYoh )

P.S. Проект сделан на скорую руку, вся логика на JS
Почему Красноярск я догадался, а почему Киров?
Сложная система общения в соц.сетях. Если коротко — друг из Красноярска на общественных началах занимается вопросами городского планирования и прочего. Для одной из его задач был сделан этот интерфейс как раз и собраны-переработаны данные (по Красноярску). Он разместил пост в ФБ и ЖЖ. Его увидел парень, который занимается аналогичными вопросами в Кирове. Попросил меня собрать данные для Кирова и немного доработали карту (нарастили функционал) для своей задачи по Кирову.
HuGo, спасибо! мне как раз интересен ваш и другие такие же общественные проекты и истории этих проектов. Стукните в личку, пожалуйста. Проблему с геоокоординатами, к сожалению, тоже замечаем постоянно. Видимо, следующим этапом придется все перекодировать (точно так же яндекс.геокодером) и перевыкладывать…
Да, оригинально они придумали инкапсулировать JSON-строку внутрь JSON.

Спасибо, что json)

Чтобы можно было парсить json, пока парсится json. Не удержался ;)
В стандарте OpenRTB тоже такое встречается. Возможно, чтобы на ЯП со строгой типизацией меньше крашей было (у тех, кто не заморачивается проверками). Но точная причина такого поведения — загадка для меня.
Чую, привлекать будут за экстре... раскрытие правды, когда этого не просили. Поскольку такой стати нет, припишут использование запрещенного мессанджера для террори... Телеграмма. Хотя, тут тоже статьи нет. В общем, интересно, что придумают. Потому, что официально выводы (из тех же данных) звучат, вероятно, чуть по-другому.
  1. Видим, что в окне DevTools слева появились два запроса под названием getMainMapData

На картинках другой метод


  1. В начале статьи говорится, что данные в xml, а далее уже под json рассказ.
    Т.к. статья подробная, и ориентированая на людей, в том числе не очень разбирающихся в вопросе, лучше поправить, чтобы не было путаницы.

Отличная статья!
А есть подобные парсеры телефонных справочников?

Их десятки (а как бы работали карты Яндекса или 2GIS?). Каждый пишет эти парсеры сам для себя, а вот опубликованных данных телефонных справочников мне не попадалось.
Скажите, а не удавалось ли Вам получить полную базу ЕГРЮЛ или ЕГРИП? На сайте налоговой за разовый доступ к ней просят 50 тыс. руб, что, конечно, совершенно неприемлемо, если база нужна исключительно в исследовательских целях. Сгодилась бы даже неактуальная база (за 2015 год или более ранний период).
iveagle, мы с коллегами (например, k0shk) ведем очень давний спор с ФНС по поводу опубликования ЕГРЮЛ в виде открытых данных. За три года ни к чему полезному это не привело и на все аргументы про исследователей ФНС не реагирует. Как вариант, свяжитесь с ребятами из datafabric.cc (они строят онтологию на данных ФНС), или огрн.онлайн, или zachestnyibiznes.ru. Все они могут дать API для исследовательских целей.
Спасибо за совет! Обязательно изучу указанные Вами источники.
на самом деле мы даже не просим полные ЕГРЮЛ и ЕГРИП, мы просим раскрыть хотя бы ИНН/КПП/ОГРН/название организации, которых нам не хватает для связывания и обработки разных массивов данных (из практики — в каждом поле встречается куча ошибок, поэтому для идентификации организации ни одно поле использовать нельзя).

Самый последний ответ, официально полученный нами от Минфина пару недель назад, гласит о том, что «каждый человек или организация могут получить информацию об одной организации (в виде выписки pdf), а если вы хотите использовать эти данные в инф. системах, то Минфин России считает взимание платы обоснованным» (передаю простым языком и своими словами, но смысл такой). Мы, кстати, все еще продолжаем пытаться получить эти данные, а начали примерно в середине 2015 года :)
Спасибо за популяризацию Питона. Сам собираю данные какие мне надо таким образом. Любые JSON, XML, CSV… буквально на днях выкачал 26тыс координат населенных пунктов определенных областей, н.п. существовавших в 19 веке, а ныне не существующих. Под свою карту, более удобную. Ес-но не коммерческую. Ибо кто вводил координаты, проделали конечно титаническую работу, но совсем не правильно отображают метки на карте. Не знают что такое кластеризаторы на карте, что при показе более 1-3тыс меток браузер жутко подвисает. Так что Web Scraping живет! ))
Layner, спасибо за комментарий! Если не жалко, можете поделиться своими данными на портале hubofdata.ru — это негосударственный некоммерческий портал открытых данных, мы его развиваем для сообщества.
есть только одна проблема и глобальная. я назову её осторожно: а правильно ли вводятся исходные данные в систему? фальсификации всего и вся — есть такая забава. Например в полиции — не регистрация каких-то преступлений, регистрация одних преступлений под видом других и пр. — чтобы не портить статистику).
а когда нет веры исходным данным, то какая разница, что там напарсено?
Если исследование покажет что данные фигня, то это тоже результат исследования.
Недавно, например, было такое исследование по размеру изымаемых наркотиков из которого следует как раз фальсификация большинства задержаний за их хранение
Спасибо за полезную статью.
Спасибо огромное за полезнейшую статью!

К сожалению, проходит месяц, прежде чем ДТП в попадает в статистику (по крайней мере, в нашем регионе)… Кстати, стало вдруг интересно, в каком регионе этот промежуток времени минимальный и сколько дней/недель составляет.

PS:
При запуске скрипта вылезла ошибка об отсутствии модуля requests.
Питон свежескачанный и свежеустановленный.
Помогло следующее:

python\scripts\easy_install.exe requests
vadimk60, спасибо за комментарий про requests. Допишу про установку на гитхабе. Кстати, после установки requests нормально работает скрипт?
ГИБДД правда публикует ДТП с временнЫм лагом в 1 месяц и вроде бы всю статистику сразу (поэтому наличие данных за апрель меня сильно удивило — думала, ошибка в коде, когда результат не сошелся на 5 карточек ДТП)
Еще ГИБДД не все аварии публикует.
Видимо это связано с тем, что часть аварий теперь не регистрируется в ГИБДД, а сразу идут в страховые компании. У меня есть как минимум одно ДТП, которое было оформлено без участия ГИБДД. Страховая само собой КБМ повысила, т.е. в базах страховых оно есть. Повреждения машины были существенные, т.е. не просто бампером притерлись.

Отчасти по этой причине сейчас будет плавно уменьшаться статистика ДТП.
MasMaX, спасибо за информацию! придется поисследовать. вы свою аварию не проверяли по stat.gibdd.ru? в общую базу ГИБДД аварии все равно должны попадать, иначе их статистика станет недостоверной, а они все-таки госорган.
На сайте проверял. Авария была год назад, в базе ГИБДД ее нет. Хотя потерпевший вроде ходил в ГИБДД за справкой, тогда они еще были.

Предыдущая авария, где приезжал инспектор (хотя сейчас понимаю что можно и без него было) на сайте имеется.
Отличная статья. Давно страдаю идеей визуализировать всевозможные данные по странам. Проблема с данными – нужно кучу парсеров.
Если общественности интересна эта тема тоже, то, может быть, возможно коллективно решить проблему с парсингом?
vaboretti, это хорошее предложение, потому что куча программистов постоянно делают одну и ту же работу, вместо того чтобы просто обменяться данными. Не потому, что жалко, а потому, что друг про друга не знают. Если есть предложения, как это можно изменить, то я буду очень рада. Кстати, и каких данных по странам вам не хватает?
А есть ли еще в России какие-либо данные для визуализации, например количество пожаров или преступлений на один квадратный километр?

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


Статистику по пожарам и ЧС можно найти на сайте МЧС. Там есть данные с 2003 по 2017 годы, но, правда, в очень дружелюбном .doc формате.


Статистику по преступлениям можно поискать у Ген Прокуратуры или МВД. Вот, к примеру, ссылка на данные по количеству зарегистрированных преступлений на Портале правовой статистики и их даже сразу можно скачать в xml формате (технологии!)

по пожарам вот здесь отличная визуализация: fires.ru.
любые данные на один километр нужно рассчитывать самостоятельно, а вообще по России полно самой разной статистики: www.gks.ru/free_doc/new_site/bd_munst/munst.htm (выбрать любой регион).
сайт гибдд все?
просто в интерфейсе выбираю даты, свой муниципалетет, получить данные в xml

крутится спиннер, но
stat.gibdd.ru/map/getDTPCardDataXML
Request Method: POST
Status Code: 504 Gateway Time-out
да, скачал данные по своему региону, завтра расчехлю спарк и поиграюсь с ними

Занимаюсь сейчас анализом данных, но сайт stat.gibdd.ru с весны в полурабочем состоянии, данные за прошлые годы не отдает. На гитхабе нашел за прошлые годы частично, но может кто знает, где более свежие взять (за 2018-2020)?

Sign up to leave a comment.

Articles