Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » как с помощью mechanize сохранить картинку,? [RSS Feed]

#1 Сен. 21, 2008 16:04:37

124bit
От:
Зарегистрирован: 2008-04-10
Сообщения: 121
Репутация: +  0  -
Профиль   Отправить e-mail  

как с помощью mechanize сохранить картинку,?

например картинку гугла… а лучше вот эту http://www.07bux.net/image.php?newtime='%20+%20(new%20Date()).getTime();

а с помощью PAMIE както можно сохранить картинку,?



Офлайн

#2 Сен. 21, 2008 16:17:12

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

как с помощью mechanize сохранить картинку,?

А зачем PAMIE? Для этого есть более адекватные инструменты.

Офлайн

#3 Сен. 21, 2008 16:55:46

124bit
От:
Зарегистрирован: 2008-04-10
Сообщения: 121
Репутация: +  0  -
Профиль   Отправить e-mail  

как с помощью mechanize сохранить картинку,?

гм.. у меня стоит такая задача.. зделать автовход сюда 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 капатчу) то пожалуйста посоветуйте их..



Офлайн

#4 Сен. 21, 2008 18:05:25

124ише
От:
Зарегистрирован: 2007-05-24
Сообщения: 33
Репутация: +  0  -
Профиль   Отправить e-mail  

как с помощью mechanize сохранить картинку,?

и если можна, киньте инфы по mechanize … фто на сайте нихрена нема(



Офлайн

#5 Сен. 21, 2008 19:13:28

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

как с помощью mechanize сохранить картинку,?

Ммм… Как бы это сказать.
Задача мне, эээ, не нравится. Нехорошо как-то боты для автологина писать.
Но тем не менее я кое-что посоветую.
Во-первых - выбранные инструменты не подходят для задачи. Механизе и PAMIE сделаны для тестирования страниц и автоматизации ручных операций. Для такой задачи лучше использовать html-парсеры, urllib и т.п. Например httplib легко решит задачу заполнения формы и отправки данных чрез POST/GET. В urllib2 тоже есть практически всё необходимое - возможность скачать файл (для капчи), заполнить и отправить форму (при использовании ClientForm это вообще тривиальная задача) etc.
Для распознавания каптч есть вагон способов от автоматических до полуавтоматеческих.
Думаю найти в гугле подробности - не проблема.

Офлайн

#6 Сен. 22, 2008 19:31:44

124bit
От:
Зарегистрирован: 2008-04-10
Сообщения: 121
Репутация: +  0  -
Профиль   Отправить e-mail  

как с помощью mechanize сохранить картинку,?

а чего не хорошего то,?) все что не запрещено - то дозволено, все что не плохо - хорошо…



Офлайн

#7 Сен. 22, 2008 19:39:09

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

как с помощью mechanize сохранить картинку,?

124bit
я думаю дело в том, что когда ты открываешь страничку с капчей в броузере - у тебя одно окружение (куки там например какие, реферер или что-нибудь подобное), а когда качаешь картинку питоном - другое.
Это всеравно что еслиб ты открыл эту страничку в двух разных броузерах. И пытался капчу из одного ввести в поле в другом.



Отредактировано (Сен. 22, 2008 19:39:40)

Офлайн

#8 Сен. 22, 2008 19:58:41

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

как с помощью mechanize сохранить картинку,?

а чего не хорошего то
А я и не говорю что запрещено. Мне не нравится.

Офлайн

#9 Сен. 22, 2008 20:08:57

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

как с помощью mechanize сохранить картинку,?

124bit
а с помощью PAMIE както можно сохранить картинку,?
Там есть в атрибутах картинки - атрибуты связанные с OLE. Может с помощью WinApi - можно через это как-то вытянуть саму картинку.
Как? - х.з



Офлайн

#10 Сен. 22, 2008 20:24:26

124bit
От:
Зарегистрирован: 2008-04-10
Сообщения: 121
Репутация: +  0  -
Профиль   Отправить e-mail  

как с помощью mechanize сохранить картинку,?

shiza, пасиба.. дал пару направлений для решения проблемы.



Офлайн

  • Начало
  • » Web
  • » как с помощью mechanize сохранить картинку,?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version