rudra
Март 28, 2009 12:31:18
Привет. Проблема такого характера. Выполняется скрипт. Скрипт обращается к вебстранице на которой есть капча. Сохраняет капчу на сервер. Далее надо чтобы скрипт приостановил выполнения и начал слушать запустившую его страницу на предмет отправки ему запроса с значением капчи. После получения скрипт должен продолжить работать. Как подобную штуку реализовать на питоне?
В гугле искал и более-менее похожее нашел здесь:
хттп://209.85.129.132/search?q=cache:g1i9BFmVkxQJ:stackoverflow.com/questions/336866/how-to-implement-a-minimal-server-for-ajax-in-python+python+and+ajax+html&cd=35&hl=ru&ct=clnk&gl=ua
Но, к сожалению, этот пример у меня даже не заработал.
Спасибо.
Ferroman
Март 28, 2009 12:38:57
Я так и не понял как должен работать скрипт.
1. Выполняется скрипт (где, у вас на сервере?), джаваскрипт имеется в виду?
2. Обращается к вебстранице (где страница, на другом сервере?)
3. Сохраняет капчу (куда, и зачем?)
4. скрипт приостановил выполнения и начал слушать запустившую его страницу (вообще не понятно, что именно надо)
Опишите детальнее.
rudra
Март 28, 2009 13:28:21
питонный скрипт выполняется на денвере
страницы на этом же сервере
скрипт является краулером и иногда перед собой встречает капчи, значение которых надо передать дальше. Он эти капчи сохраняет в виде чпегов на сервер, а хтмл, который запустил этот питонный скрипт, должен капчи подтягивать и я их буду вводить. А потом скрипт дальше продолжает работу. То есть, отдает значение введенной капчи дальше.
slivlen
Март 28, 2009 15:07:03
1. Реализуй краулер отдельным демоном. Когда он найдет капчу и сохранит ее, приостанови его выполнение до тех пор пока он не получит расшифровку капчи(н-р из сокета). Соответственно после получения возобнови его работу и отправляй значение капчи.
2. Сделай страничку, которая будет обращаться к скрипту на сервере. Скрипт будет проверять наличие капчи для расшифровки и если таковая есть выводить картинку с ней. Затем пользователь введет значение капчи и отправит его на какой-то скрипт, который передаст это значение краулеру.
P.S. Вообще твой подход к решению этой задачи достаточно кривой и стоит пересмотреть архитектуру твоего приложения.