Python в отдельно взятом тексте

Почему быть профессиональным дилетантом всё сложнее

Рассказываю, как программирование помогло в моих последних текстах – почему и как мы кодили, и что пришлось бы делать, если бы не Python.

В конце ноября — начале декабря мы с Алесей Мароховской из издания «Важные истории» выпустили два текста о том, как в России судят за кражи. Первая история была про воров-пенсионеров, которых — в буквальном смысле — ловят за украденные у соседей пельмени. При этом пожилые люди обычно получают условные сроки. А рецидивисты среднего возраста за похожие преступления отправляются в колонии — о них был второй материал.

Написать что-то про кражи я собрался примерно за полгода до выхода текстов. Началось с того, что увидел на сайте полиции Пермского края одну за другой новости о пойманных и посаженных ворах. Суммы краж были — три, пять, десять тысяч рублей. Захотелось узнать, насколько типично, что за незначительные кражи дают колонию. Тогда же я обратил внимание на воров-пенсионеров — по ним, думал я, тоже не помешали бы обобщения. Конкретная ситуация и понимание, насколько эта ситуация типична — это как два полюса. Между ними и балансирует история. Одно усиливает другое. Без обобщения про конкретную ситуацию можно сказать — это исключение из правила, это ни о чем не говорит. Без конкретной истории про обобщение думаешь — а как, интересно, на практике?

Средний чек краж

Какие-то обобщения на тему краж я нашел на сайте Судебного департамента. Например, там есть таблицы, из которых следует, что «Кража» — самое распространенное преступление в России, каждого четвертого подсудимого судят именно по 158-й статье УК. Есть также некоторые данные о социальном статусе преступников — большинство воров безработные или без постоянного источника дохода.

Но средний чек краж, который я так хотел найти, из официальной статистики неясен.

До этого у меня были два текста, где я обрабатывал массивы данных вручную. «Уповаем вместе» — про то, как официальный региональный жалобный сайт «Управляем вместе» обрабатывает обращения. И «Разрешите в айти?» — о госконтрактах айти-компаний, близких к губернатору Пермского края. Перебирать вручную жалобы и контракты было мучительно, но хоть как-то возможно. В случае же с кражами — из-за намного большего количества приговоров — такой способ не подходит. Я решил, что пора что-то менять, и записался на курсы по питону.

Но пока кодить сам не умел, на помощь мне пришла Алеся. С помощью языка Python и инструмента Selenium (имитирующего хождение человека по веб-страницам) она скачала больше 35 тысяч судебных актов по 158-й статье за прошлый год. Затем проанализировала документы с помощью регулярных выражений (они помогают находить нужную информацию в тексте) — чтобы выявить закономерности.

Автоматически или вручную

Даже такой способ ограничен, потому что многие данные из приговоров, опубликованных в открытых источниках, удалены. Нет, например, возраста.

Но кое-что есть — скажем, сумма украденного. Алеся вычислила, что половина всех краж была на сумму 13 тысяч рублей и меньше. Эта цифра многое говорит о материальном положении и воров, и потерпевших. И вообще о том, чем занимается судебная система в России. Кража ведь у нас самое распространенное преступление. Без программирования средний чек краж мы бы не узнали. Конечно, можно было перебрать все приговоры вручную. Но это долго, да и нет гарантии, что ты не собьешься.

Также выяснилось, что ущерб от каждой третьей кражи, совершённой пенсионерами с проникновением в жилище или хранилище, не превышает 2,5 тысячи рублей. Это говорит о том, что пресловутая кража пельменей у соседей не такая уж исключительная. Статистика из обоих текстов попала в новости десятка (может и больше — в какой-то момент я перестал следить) СМИ. Возможно, цифры произвели эффект, потому что были также рассказаны судьбы конкретных воров, а может — и сами по себе. В любом случае, без этой статистики тексты не стали бы информационными поводами.

Университет дилетантов

Считается, у журналиста есть три типа источников — человек, наблюдение, документ. В каком-то смысле большие данные ничего не меняют в этом раскладе. 35 тысяч приговоров, которые с помощью программирования скачала и проанализировала Алеся — тоже документ. Только документы сейчас становятся такими, что их поиск и чтение усложняется. Собственно, без Python он становится всё более невозможен. Но если разобраться, работа с источниками и наблюдением тоже усложняется и становится более технологичной — вспомним OSINT. Журналистика остается профессией для дилетантов, но быть дилетантом становится всё сложнее. А так как уметь всё невозможно, журналистика, кажется, всё больше превращается в командный вид спорта.

Python — это не только статистика. Так, в приговорах за кражи не назван возраст человека, но указывается, если он пенсионер по старости. Поэтому с помощью программирования находились акты с упоминанием потенциальных героев статьи. Получив их, я искал контакты людей — используя тот же OSINT. Это пример того, что наша работа с Алесей была именно командной. Мы направляли друг друга в поисках. А в конце почти параллельно добавляли в черновики текстов я — «человеческую», она — статистическую части.

Сейчас я работаю над темой, где тоже нужно программирование. Пробую им заниматься сам — скачал с сайта «Госзатраты» больше двух тысяч госконтрактов (работать вручную в этом случае тоже немыслимо). На очереди очистка и анализ данных. Это в миллион раз проще, чем с судебными актами, но с непривычки всё равно не быстро. Но когда-то нужно начинать.