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

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

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

1). Запускается браузер со страницей отправки SMS.
2). Со странички считывается картинка с капчей и сохраняется в файл.
3). Запускается Photoshop, и к сохраненной картинке применяются фильтры очистки от мусора (да - все это автоматизируется).
4). Подчищенное изображение сохраняется и затем открывается в... OCR Cuneiform! Там оно и распознается - у приложения также есть API.
5). Ну а далее все просто - ввод распознанного проверочного кода, считывание текста сообщения и номера, нажатие кнопки "Отправить" на страничке сайта.

Да, чтение капчи и распознавание происходит в цикле типа while(!success). Так что иногда отправка проходит за несколько итераций.

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

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

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

The loan are essential for guys, which want to start their own company. In fact, this is comfortable to get a short term loan.

Отправить комментарий

КАПЧА
Пожалуйста, введите капчу (здесь ТОЛЬКО буквы!)
CAPTCHA на основе изображений
Enter the characters (without spaces) shown in the image.