Найти - Пользователи
Полная версия: как с помощью mechanize сохранить картинку,?
Начало » Web » как с помощью mechanize сохранить картинку,?
1
124bit
например картинку гугла… а лучше вот эту http://www.07bux.net/image.php?newtime='%20+%20(new%20Date()).getTime();

а с помощью PAMIE както можно сохранить картинку,?
Ferroman
А зачем PAMIE? Для этого есть более адекватные инструменты.
124bit
гм.. у меня стоит такая задача.. зделать автовход сюда 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 капатчу) то пожалуйста посоветуйте их..
124ише
и если можна, киньте инфы по mechanize … фто на сайте нихрена нема(
Ferroman
Ммм… Как бы это сказать.
Задача мне, эээ, не нравится. Нехорошо как-то боты для автологина писать.
Но тем не менее я кое-что посоветую.
Во-первых - выбранные инструменты не подходят для задачи. Механизе и PAMIE сделаны для тестирования страниц и автоматизации ручных операций. Для такой задачи лучше использовать html-парсеры, urllib и т.п. Например httplib легко решит задачу заполнения формы и отправки данных чрез POST/GET. В urllib2 тоже есть практически всё необходимое - возможность скачать файл (для капчи), заполнить и отправить форму (при использовании ClientForm это вообще тривиальная задача) etc.
Для распознавания каптч есть вагон способов от автоматических до полуавтоматеческих.
Думаю найти в гугле подробности - не проблема.
124bit
а чего не хорошего то,?) все что не запрещено - то дозволено, все что не плохо - хорошо…
shiza
124bit
я думаю дело в том, что когда ты открываешь страничку с капчей в броузере - у тебя одно окружение (куки там например какие, реферер или что-нибудь подобное), а когда качаешь картинку питоном - другое.
Это всеравно что еслиб ты открыл эту страничку в двух разных броузерах. И пытался капчу из одного ввести в поле в другом.
Ferroman
а чего не хорошего то
А я и не говорю что запрещено. Мне не нравится.
shiza
124bit
а с помощью PAMIE както можно сохранить картинку,?
Там есть в атрибутах картинки - атрибуты связанные с OLE. Может с помощью WinApi - можно через это как-то вытянуть саму картинку.
Как? - х.з
124bit
shiza, пасиба.. дал пару направлений для решения проблемы.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB