Pull to refresh

Чудеса автоматизации или как отправляют SMS настоящие гики

Reading time2 min
Views1.8K
Мой коллега по работе — большой любитель автоматизации рутинных задач скриптами. Эта склонность порой принимает удивительные формы. Однажды ему надоело каждый раз вводить проверочный код при отправке SMS через сайт оператора. И вот что он придумал.

Пишется простенькое приложение с диалоговым окном и двумя полями ввода — номер телефона и текст сообщения. При желании добавляется список операторов связи и любимые номера. По нажатию кнопки «Отправить» происходит следующее (все делает VBScript):

1). Запускается браузер со страницей отправки SMS.

2). Со странички считывается картинка с капчей и сохраняется в файл.

3). Запускается Photoshop, и к сохраненной картинке применяются фильтры очистки от мусора (да — все это автоматизируется).

4). Подчищенное изображение сохраняется и затем открывается в… FineReader! Там оно и распознается — у приложения также есть API.

5). Ну а далее все просто — ввод распознанного проверочного кода, считывание текста сообщения и номера, нажатие кнопки «Отправить» на страничке сайта.

Да, чтение капчи и распознавание происходит в цикле типа while(!success). Так что иногда отправка проходит за несколько итераций. Чуть сложнее будет если капча содержит арифметические действия, но на это есть Google!

Может быть все это давно известно, но я впечатлился, когда он сделал презентацию для сотрудников.

Желаю всем творческого мышления!

Upd1: Почитав комментарии, перенес в «Я безумный» :)

Upd2: Коллега разрешил выложить код (для билайна).
Презентация была год назад, поэтому я кое-что подзабыл. Вот уточнения:
1). Для распознавания используется Cuneiform
2). Сейчас отправка в данной версии уже не проходит — они усложнили картинки. Хотя, в комментариях давали ссылки на другие OCR, специально заточенные под распознавание таких картинок.
3). Картинка берется из кэша браузера, но это не принципиально.
4). Насчет формочки для отправки — это уже моя идея. В аттаче сообщение забивается прямо в скрипте.

Upd3: Передаю слово коллеге. Хабру спасибо за инвайт! :)
Tags:
Hubs:
Total votes 107: ↑90 and ↓17+73
Comments144

Articles