sirve - ¿Por qué Python(con twill) no quiere iniciar sesión en un buzón de Yahoo aquí?
que es python y para que sirve (1)
El problema radica en Mecanizar. Necesitas la versión más nueva
su
git clone git://github.com/jjlee/mechanize.git
cd mechanize
python setup.py install
¿Puede alguien, por favor, explicarme qué está pasando aquí? Parece que Python se niega a trabajar (con twill) cuando intento iniciar sesión en mi buzón de Yahoo:
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
****************************************************************
Personal firewall software may warn about the connection IDLE
makes to its subprocess using this computer''s internal loopback
interface. This connection is not visible on any external
interface and no data is sent to or received from the Internet.
****************************************************************
IDLE 1.2.4
>>> import twill
>>> twill.shell.main()
-= Welcome to twill! =-
current page: *empty page*
>> go http://us.yahoo.com
==> at http://us.yahoo.com
current page: http://us.yahoo.com
>> follow Mail
==> at https://login.yahoo.com/config/login_verify2?.intl=us&.src=ym
current page: https://login.yahoo.com/config/login_verify2?.intl=us&.src=ym
>> showforms
Form name=login_form (#1)
## ## __Name__________________ __Type___ __ID________ __Value__________________
1 .tries hidden (None) 1
2 .src hidden (None) ym
3 .md5 hidden (None)
4 .hash hidden (None)
5 .js hidden (None)
6 .last hidden (None)
7 promo hidden (None)
8 .intl hidden (None) us
9 .bypass hidden (None)
10 .partner hidden (None)
11 .u hidden (None) 68gre5567rq16
12 .v hidden (None) 0
13 .challenge hidden (None) 9wKUoOWDdP5Fho0kPfqPKEhPZBdK
14 .yplus hidden (None)
15 .emailCode hidden (None)
16 pkg hidden (None)
17 stepid hidden (None)
18 .ev hidden (None)
19 hasMsgr hidden (None) 0
20 .chkP hidden (None) Y
21 .done hidden (None) http://mail.yahoo.com
22 .pd hidden (None) ym_ver=0&c=&ivt=&sg=
23 pad hidden pad 6
24 aad hidden aad 6
25 login text username
26 passwd password passwd
27 .persistent checkbox persistent [] of [''y'']
28 1 .save submi ... .save
current page: https://login.yahoo.com/config/login_verify2?.intl=us&.src=ym
>> fv 1 login *****************
current page: https://login.yahoo.com/config/login_verify2?.intl=us&.src=ym
>> fv 1 passwd ***************
current page: https://login.yahoo.com/config/login_verify2?.intl=us&.src=ym
>> submit
Note: submit is using submit button: name=".save", value=""
Following HTTP-EQUIV=REFRESH to http://us.mg5.mail.yahoo.com/dc/launch?.gx=1&.rand=b3a02cc8lb0aa
current page: http://us.mg5.mail.yahoo.com/dc/launch?.gx=1&.rand=b3a02cc8lb0aa
>> info
Page information:
URL: http://us.mg5.mail.yahoo.com/dc/launch?.gx=1&.rand=b3a02cc8lb0aa
HTTP code: 200
Content type: text/html; charset=utf-8 (HTML)
Page title: Yahoo! Mail
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
twill.shell.main()
File "C:/Python25/Lib/site-packages/twill/shell.py", line 383, in main
shell.cmdloop(welcome_msg)
File "C:/Python25/lib/cmd.py", line 142, in cmdloop
stop = self.onecmd(line)
File "C:/Python25/lib/cmd.py", line 219, in onecmd
return func(arg)
File "C:/Python25/Lib/site-packages/twill/shell.py", line 42, in do_cmd
print ''/nERROR: %s/n'' % (str(e),)
File "C:/Python25/lib/HTMLParser.py", line 59, in __str__
result = self.msg
AttributeError: ''ParseError'' object has no attribute ''msg''
>>>
Actualización 1 :
(esta actualización es mi respuesta a Robus)
Hola, Robus !!!
En primer lugar, supongo que fue un error tipográfico cuando escribiste:
Esto es lo que hice: fui a C: / Python26 / Lib / site-packages / twill-0.9-py2.6.egg / twill / other_packages /
Creo que quiso decir esta ruta: " C: / Python26 / Lib / site-packages / twill / other_packages ". De lo contrario, no puedo ver ninguna carpeta / directorio llamado " twill-0.9-py2.6.egg " - solo hay un archivo con este nombre (el que creo que se descargó durante la instalación de mechanize). dígame si mi suposición es errónea, es posible que no esté viendo algo muy obvio aquí, ya que solo soy un novato.
Entonces, siguiendo Tus instrucciones, hice esto:
Encontré " C: / Python25 / Lib / site-packages / twill / other_packages_mechanize_dist " en mi computadora (como puede ver, no tengo python26, sino que python 25 está instalado, eso también podría ser un problema)
Cambió su nombre a " _mechanize_dist_backup " (la ruta completa ahora es " C: / Python25 / Lib / site-packages / twill / other_packages_mechanize_dist_backup ")
Copié mi " mechanize-0.2.2 " descargado y descomprimido en " C: / Python25 / Lib / site-packages / twill / other_packages " (la ruta completa es " C: / Python25 / Lib / site-packages / twill / other_packages /" mecanizar-0.2.2 ")
Cambió su nombre a " _mechanize_dist " (la ruta completa es " C: / Python25 / Lib / site-packages / twill / other_packages_mechanize_dist ")
Copié el archivo " ClientForm " de " _mechanize_dist_backup " y lo pegué en " _mechanize_dist " (de hecho, encontré dos archivos llamados " ClientForm ": uno es un archivo python, otro es un archivo python compilado, copié y pegué los dos ellos).
Después de haber hecho eso, traté de ejecutar todos esos comandos y me quedé atrapado al principio. Ni siquiera podía importar sarga ahora:
IDLE 1.2.4
>>> import twill
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import twill
File "C:/Python25/Lib/site-packages/twill/__init__.py", line 52, in <module>
from shell import TwillCommandLoop
File "C:/Python25/Lib/site-packages/twill/shell.py", line 9, in <module>
from twill import commands, parse, __version__
File "C:/Python25/Lib/site-packages/twill/commands.py", line 7, in <module>
import _mechanize_dist as mechanize
ImportError: No module named _mechanize_dist
Parece que el sistema no reconoce el " _mechanize_dist " recién creado.
¿Podría ser porque tengo Python 25 en lugar de Python 26? O, tal vez, hay alguna otra razón?