Другие языки программирования и технологии

Написать программу-бота - что нужно

Нужно написать программу, которая будет вводить текст в поле в зависимости от конкретной картинки на сайте. Какой язык лучше использовать и какие функции могут понадобиться? Любые советы только в плюс
А что насчет совета доверить это скользкое дело профессионалу?
На его же плечи свалить и выбор инструментов (пусть сразу определится с ними и объяснит всё научно-популярно - это поможет проверить, действительно ли он профессионал)
Ну а со своей стороны - платить достойные деньги фрилансеру.
Зато неисправимых попадосов ("вчера работало - сегодня поломалось") не будет, а исправимые будут максимально редки, т. к. все будет делаться оперативно и грамотно (если, конечно, это действительно профессионал и деньги действительно достойные).
Как вам такое мнение?

> Нужно написать программу, которая будет вводить текст в поле
Обычно форма сделана на HTML и отправляет запросы по HTTP/HTTPS, а на сервере - обработчик запросов (запросы отправляются AJAXом или без).
Ну а бот обычно нужен просто в виде программы на свой комп, особая скорость и мощь не нужна, банов по IP не боятся (в крайнем случае - список прокси и бот будет автоматом менять прокси)
Это типичный случай. Надеюсь, у вас - так.

> Какой язык лучше использовать
...Но типичные случаи тоже не приходятся раз на раз.
Может там 1 запрос всего нужно имитировать. А может десяток, плюс еще и JavaScript многое генерирует по каким-то секретным алгоритмам, которые не очень-то раскопаешь.

Основных варианта - два: либо эмуляция HTTP-запросов (подойдет почти любой язык, но под винду лучше C# и реальный профессионал должен это знать), либо имитация реального браузера с пользователем с помощью браузерного движка (тут либо Selenium, либо PhantomJS).
В разных случаях лучше разные варианты, и второй вариант обычно стоит все-таки чередовать с первым, поэтому профи должен уметь применять ОБА их.

И в любом случае нужен HTTP-сниффер, под винду желательно Fiddler.
Это инструмент для исследования. Ведь если у сайта не открытое API, то все потроха сайта скрыты от глаз дилетанта - а ведь с ними придется взаимодействовать, и делать это будет безмозглый комп, а значит надо сперва всё изучить, и объяснить компу так, чтобы понял, что куда.

> капча, но раздельная
Веб-сервис Antigate проще всего применять в боте для капчей.
Но он малость платный за каждую капчу - и подходит только к типичным капчам.
Может быть, стоит разработать свой алгоритм распознавания - но это тоже дело нелегкое, и притом специфичное.
A*
Artem *
278
Лучший ответ
Если просто картинка, то js вполне достаточно.
Если же обработка каких то еще данных. вводимых пользователем, то php понадобится
Behzod Shermatov
Behzod Shermatov
15 991
Надеюсь, что картинка - не капча? Если капча, то придётся писать программу распознавания текста, который отображается так, чтоб его нельзя было распознать. :-) Если осилите, - станете богатым и знаменитым! :-)

Если же речь идёт о нескольких предопределённых картинках, то соглашусь с первым оратором: javascript или любой другой язык с поддержкой web-протокола, хоть perl, хоть python, хоть php, хоть даже bash с wget'ом или curl'ом или что вам будет угодно.
Олег Дмитриев
Олег Дмитриев
4 816
Олег Санжид Капча, но раздельная, на каждую букву определенная картинка, всегда одна и та же
Доброго времени суток, из своих мюслей думаю что это весьма сложно для обычного человека) это должен быть один из тех языков которые написали выше с поддержкой веб сервиса, если интересно есть типа таких служб http://atletiq.com/ , думаю я вам очень помог)
Олег Санжид Мюсли это всегда хорошо
Говорили тут уже, юзай pkeygen.ru/fix