2

誰か、ここで何が起こっているのか説明してくれませんか。Yahoo のメールボックスにログインしようとすると、Python が (twill で) 動作しないようです:

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 に対する私の回答です)

こんにちは、ロバス!!!

まず第一に、あなたが書いたときのタイプミスだと思います:


これが私がしたことです: 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」という名前のフォルダー/ディレクトリが表示されません。この名前のファイルしかありません (mechanize のインストール中にダウンロードされたと思われるファイルです)。私の仮定が間違っているかどうか教えてください。

それで、あなたの指示に従って、私はこれをしました:

  1. コンピューターに「C:\Python25\Lib\site-packages\twill\other_packages_mechanize_dist」が見つかりました (ご覧のとおり、python26 はありませんが、python 25 がインストールされています。これも問題になる可能性があります)。

  2. その名前を「_mechanize_dist_backup」に変更しました (フルパスは「C:\Python25\Lib\site-packages\twill\other_packages_mechanize_dist_backup」になりました)

  3. ダウンロードして解凍した「mechanize-0.2.2」を「C:\Python25\Lib\site-packages\twill\other_packages」にコピーしました (フルパスは「C:\Python25\Lib\site-packages\twill\other_packages\ です」機械化-0.2.2 ")

  4. その名前を「_mechanize_dist」に変更しました (フルパスは「C:\Python25\Lib\site-packages\twill\other_packages_mechanize_dist」です)

  5. 「 _mechanize_dist_backup 」から「 ClientForm」ファイルをコピーし、「 _mechanize_dist」に貼り付けました(実際、「 ClientForm 」という名前のファイルが 2 つ見つかりました。1Python ファイルで、もう 1 つはコンパイル済みの Python ファイルです。両方をコピーして貼り付けました。彼ら)。

それを行った後、これらすべてのコマンドを実行しようとしましたが、最初から行き詰まりました-今ではツイルをインポートすることさえできませんでした:


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 26 ではなく Python 25 を使用していることが原因でしょうか? それとも、何か別の理由があるのでしょうか。

4

1 に答える 1

2

問題は Mechanize にあります。最新バージョンが必要です

su
git clone git://github.com/jjlee/mechanize.git
cd mechanize
python setup.py install
于 2010-09-05T19:21:52.467 に答える