Почему Python (с Twill) не хочет войти в почтовый ящик Yahoo здесь?
-
26-09-2019 - |
Вопрос
Может кто-нибудь, пожалуйста, объясните мне, что здесь происходит. Похоже, что Python отказывается работать (с Twill), когда я пытаюсь войти в мой почтовый ящик на 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'
>>>
Обновление 1.:
(Это обновление моего ответа на Robus)
Здравствуйте, Robus !!!
Прежде всего, я предполагаю, что это была опечатка, когда вы писали:
Вот что я сделал: пошел к c: python26 lib сайт-пакеты twill-0,9 py2.6.egg twill ittho_packages
Я думаю, что вы имели в виду этот путь: "C: python26 lib сайт-пакеты twill indow_packages". В противном случае я не вижу такой папки / каталога там имени"Twill-0,9-py2.6.egg«- Есть только файл с этим именем (тот, который я думаю, был загружен во время установки механизма.) Пожалуйста, скажите, если мое предположение неправ - я вполне могу не видеть что-то очень очевидное, так как я просто новичок Отказ
Итак, следуя инструкциям, я сделал это:
Я нашел "C: python25 lib сайт-пакеты twill indow_packages_mechanize_dist«На моем компьютере (как видите, у меня нет Python26, а скорее Python 25 установлен - это также может быть проблемой)
Изменил свое название на "_mechanize_dist_backup."(полный путь сейчас"C: python25 lib сайт-пакеты twill indow_packages_mechanize_dist_backup")
Скопировал мой скачанный и распашныймеханизировать - 0.2.2" в "C: python25 lib сайт-пакеты twill indow_packages«(полный путь быть»C: python25 lib сайт-пакеты twill indow_packages meleckraize-0.2.2")
Изменил свое название на "_mechanize_dist.«(полный путь быть»C: python25 lib сайт-пакеты twill indow_packages_mechanize_dist")
Скопирован "ClientForm«Файл из»_mechanize_dist_backup."И вставил его в"_mechanize_dist."(На самом деле я нашел две файлы там имени"ClientForm«: Один файл Python, другой - это скомпилированный файл Python - я скопировал и вставил их обоих).
Сделав это, я попытался запустить все эти команды и застрял в самом начале - я даже не мог даже импортировать Twill сейчас:
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
Похоже, система не распознает вновь созданный »_mechanize_dist.".
Это может быть потому, что у меня есть Python 25 вместо Python 26? Или, возможно, есть какой-то другой причина?
Решение
Проблема лежит в механизации. Вам нужна новейшая версия
su
git clone git://github.com/jjlee/mechanize.git
cd mechanize
python setup.py install