Форум сайта python.su
например картинку гугла… а лучше вот эту http://www.07bux.net/image.php?newtime='%20+%20(new%20Date()).getTime();
а с помощью PAMIE както можно сохранить картинку,?
Офлайн
А зачем PAMIE? Для этого есть более адекватные инструменты.
Офлайн
гм.. у меня стоит такая задача.. зделать автовход сюда http://www.07bux.net/login.php
для этого я открываю в pamie оконо браузера http://www.07bux.net/login.php , заполняю формы, и хоче распознать капатчу с помощью fineocr. Чтоб капатчу распознать, ее надо сохранить в файл, что у меня собственно через PAMIE не выходит. Я не знаюсь в php, но я заметил, что если еще раз после открытия сгенерировать капатчу и ввести ее в старое поле - то капатча подойдет. Если это делать руками ( генерировать новую капатчу по ссылке http://www.07bux.net/image.php?newtime='%20+%20(new%20Date()).getTime(); ) то капатча подходит в старое поле code http://www.07bux.net/login.php ). Но если попытаться скачать новую капатчу через питон,
import urllib2
class DumbProxyPasswordMgr:
def __init__(self):
self.user = self.passwd = None
def add_password(self, realm, uri, user, passwd):
self.user = user
self.passwd = passwd
def find_user_password(self, realm, authuri):
return self.user, self.passwd
def download(url, file_name,proxy_addres=None,proxy_user=None,proxy_pass=None):
if url!='http://':
url='http://'+url
if proxy_addres!=None:
proxy= urllib2.ProxyHandler({“http” : "http://“+proxy_addres})
proxy_auth_handler = urllib2.ProxyBasicAuthHandler(DumbProxyPasswordMgr ())
proxy_auth_handler.add_password(None, None, proxy_user, proxy_pass)
opener = urllib2.build_opener(proxy,proxy_auth_handler)
urllib2.install_opener(opener)
src = urllib2.urlopen(url)
else:
src = urllib2.urlopen(url)
data = src.read()
dst = open(file_name,”wb“);
dst.write(data)
download(”http://www.07bux.net/image.php?newtime='%20+%20(new%20Date()).getTime();",'image.jpg')
потом распознать и ввести в старое поле - то капатча почему то не подходит((( Не могу понять чем ручной процесc отличается от моего скрипта.. если кто то что то понял - обясните почему так, плз.
Дальше я решил не сдаваться и попробовать сгенерировать и сохранить капатчу через mechanize или сразу сохранить капатчу из PAMIE((
вот собственно и вопрос.. как это сделать,?
если есть какие то другие инструменты для моих целей(заполнить форму, сохранить сегенерированую PHP капатчу) то пожалуйста посоветуйте их..
Офлайн
и если можна, киньте инфы по mechanize … фто на сайте нихрена нема(
Офлайн
Ммм… Как бы это сказать.
Задача мне, эээ, не нравится. Нехорошо как-то боты для автологина писать.
Но тем не менее я кое-что посоветую.
Во-первых - выбранные инструменты не подходят для задачи. Механизе и PAMIE сделаны для тестирования страниц и автоматизации ручных операций. Для такой задачи лучше использовать html-парсеры, urllib и т.п. Например httplib легко решит задачу заполнения формы и отправки данных чрез POST/GET. В urllib2 тоже есть практически всё необходимое - возможность скачать файл (для капчи), заполнить и отправить форму (при использовании ClientForm это вообще тривиальная задача) etc.
Для распознавания каптч есть вагон способов от автоматических до полуавтоматеческих.
Думаю найти в гугле подробности - не проблема.
Офлайн
а чего не хорошего то,?) все что не запрещено - то дозволено, все что не плохо - хорошо…
Офлайн
124bit
я думаю дело в том, что когда ты открываешь страничку с капчей в броузере - у тебя одно окружение (куки там например какие, реферер или что-нибудь подобное), а когда качаешь картинку питоном - другое.
Это всеравно что еслиб ты открыл эту страничку в двух разных броузерах. И пытался капчу из одного ввести в поле в другом.
Отредактировано (Сен. 22, 2008 19:39:40)
Офлайн
а чего не хорошего тоА я и не говорю что запрещено. Мне не нравится.
Офлайн
124bitТам есть в атрибутах картинки - атрибуты связанные с OLE. Может с помощью WinApi - можно через это как-то вытянуть саму картинку.
а с помощью PAMIE както можно сохранить картинку,?
Офлайн
shiza, пасиба.. дал пару направлений для решения проблемы.
Офлайн