Как я автоматизацией занимался

Как я автоматизацией занимался

@iloveilya

А что произошло?

В феврале из чистого интереса сделал Фразу.ру — сайт, с помощью которого, в теории, можно найти примеры употребления любых языковых конструкций на русском.

Понятно, что чтобы находить примеры для любых выражений, нужно этих примеров иметь громадное количество, а значит обработать значительное число текстов. Где-то сто тысяч предложений я добыл самостоятельно из русских книжек и ещё 100 000 достал из сборника современных журнальных статей. Ну а потом обо всём этом забыл.

И что?

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

На этом моменте вполне можно бежать тестировать, а не дочитывать до конца. Попробовать добавить свой текст можно здесь.

И как это работает?

Сложностей было две: модерация и форматы файлов. С одной я уже справился, с другой ещё нет. К сложностям вернёмся позже, а сейчас давайте посмотрим, что теперь можно на сайте сделать.

Представим, что я хочу попасть на страницу с новыми текстами. Вот, что я увижу.

Ничто так не радует глаз, как эмодзи

Регистрироваться не страшно — ни у меня, ни у кого-либо другого нет возможности увидеть ваш пароль. Так как я уже зарегистрирован, я нажму войти. Попаду на страницу авторизации.

Люблю простые цветовые гаммы

С самого начала я пытался открыть именно страницу новые тексты, но не был авторизован. После авторизации сайт перекинет меня туда, куда я пытался попасть.

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

Попробую добавить файл с собранием сочинений Александра Блока. Так как это собрание сочинений, поле с годом оставлю пустым — ничего страшного не произойдёт. Тут начинается самое интересное.

К сожалению, сейчас подойдут только .fb2 файлы. Почему так и что будет после — узнаем потом.

Нажму на кнопку добавить текст.

Вот так сейчас выглядит мой профиль на Phrasa.ru. Эмодзи-эмодзи-эмодзи.

Я загрузил файл .fb2 не слишком большого размера, поэтому меня перекинуло на страницу с моим профилем, где я вижу, что на сайте уже доступна «Тошнота» Сартра, которую я добавил минутой раньше. Какие-то два странных наименования модерацию не прошли. А собрание сочинений, которое я пытался добавить только что, уже проходит модерацию.

Так что же это за модерация?

Я не могу пропускать бесконтрольный поток файлов на сайт. Но как их проверять? Каждый день садиться за компьютер и смотреть, что там прислали пользователи? А они будут ждать по 24 часа? У меня получилось чуть более элегантное решение. Как только кто-то загружает файл, специальный помощник — бот, названный в честь героя из Твин Пикс, — скидывает его мне.

Чтобы ботом было удобно пользоваться, внизу автоматически появляется клавиатура с вариантами ответов

Итак, бот отправил мне файл со всей информацией. Я могу просмотреть файл и удостовериться, что в нём сочинения Александра Блока. Если всё хорошо, я нажимаю Скорее в базу данных!

Никто не знает, это у меня плохо с юмором, или у бота

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

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

Вот и главная страница, на которой я ещё не обновил шапку

На этом всё. Если у вас есть любимая электронная книжка — не постесняйтесь добавить её через https://phrasa.ru/addtext. Если есть какие-нибудь соображения по поводу прочитанного, пишите мне — https://t.me/andreev_io

P. S. Так что там с расширениями файлов?

Текстовые файлы разбирать на предложения, на самом деле, не сложно. Сложно их читать. Чтобы успешно прочитать файл, нужно знать его кодировку, то есть понимать, с каким набором символов придётся работать.

Оказывается, определить кодировку файла не так просто. Чаще всего сделать это наверняка вовсе невозможно, но можно определить кодировку с некоторой долей вероятности.

Однако в формате .fb2 есть лазейка. В самом начале почти каждого файла .fb2 содержится что-то вроде такого:

Получается, вполне подходящим решением будет просто искать запись, похожую на эту, и автоматически прочитывать из неё кодировку. Вот и получается, что обрабатывать .fb2 мы уже научились. А над остальными форматами нужно ещё подумать.

В ближайшие дни я добавлю возможности смены и восстановления пароля, добавления текстов напрямую, без файлов, а также поддержку новых расширений. Stay tuned!