لماذا لا يريد بيثون (مع تليح) تسجيل الدخول لي إلى صندوق بريد ياهو هنا؟
-
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:
(هذا التحديث هو إجابتي على روبوس)
مرحبا روبوس !!!
بادئ ذي بدء ، أفترض أنه كان مطبعية عندما كتبت:
إليك ما فعلته: ذهبت إلى C: Python26 lib site-packages twill-0.9-py2.6.egg twill other_packages
أعتقد أنك قصدت هذا المسار: "C: Python26 lib site-packages twill other_packages". وإلا ، لا يمكنني رؤية أي من هذا المجلد/الدليل المسمى"Twill-0.9-Py2.6.egg" - لا يوجد سوى ملف بهذا الاسم (هذا الذي أعتقد أنه تم تنزيله أثناء تثبيت الميكانيكية.) من فضلك أخبرني إذا كان افتراضي خطأ - ربما لا أرى شيئًا واضحًا جدًا هنا لأنني مجرد مبتدئ .
لذا ، بعد تعليماتك ، فعلت هذا:
وجدت "C: python25 lib site-packages twill other_packages_mechanize_dist"على جهاز الكمبيوتر الخاص بي (كما ترون ، ليس لدي Python26 ، ولكن مثبتة Python 25 - قد تكون هذه مشكلة أيضًا)
غيرت اسمها إلى "_mechanize_dist_backup"(المسار الكامل الآن"C: python25 lib site-packages twill other_packages_mechanize_dist_backup")
نسخت بلدي التنزيل وفك الضغط "ميكانيكي -0.2.2" داخل "C: Python25 lib site-packages twill other_packages"(المسار الكامل يجري"C: Python25 lib site-packages twill other_packages mechanize-0.2.2")
غيرت اسمها إلى "_mechanize_dist"(المسار الكامل يجري"C: python25 lib site-packages twill other_packages_mechanize_dist")
نسخ "العميل"ملف من"_mechanize_dist_backup"ولصقها في"_mechanize_dist"(في الواقع ، لقد وجدت ملفين هناك اسمه"العميل": أحدهما ملف بيثون ، وهو ملف آخر هو ملف بيثون مجمع - قمت بنسخ ولصق كلاهما).
بعد أن فعلت ذلك ، حاولت تشغيل كل تلك الأوامر وعلقت في البداية - لم أستطع حتى استيراد 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".
هل يمكن أن يكون ذلك لأن لدي بيثون 25 بدلاً من بيثون 26؟ أو ، ربما ، هناك سبب آخر؟
المحلول
المشكلة تكمن في الميكانيكية. تحتاج إلى أحدث إصدار
su
git clone git://github.com/jjlee/mechanize.git
cd mechanize
python setup.py install