使用Python mechanize登录网站?

使用Python mechanize登录网站?,python,twitter,login,mechanize,Python,Twitter,Login,Mechanize,我正在使用mechanize()尝试登录网站。我想尝试在Twitter上进行测试,所以我想到了以下脚本: import mechanize import cookielib username = 'user' # your username/email password = 'pass' # your password br = mechanize.Browser() # set cookies cookies = cookielib.LWPCookieJar() br.set_c

我正在使用mechanize()尝试登录网站。我想尝试在Twitter上进行测试,所以我想到了以下脚本:

import mechanize
import cookielib

username = 'user'   # your username/email
password = 'pass'   # your password

br = mechanize.Browser()

# set cookies
cookies = cookielib.LWPCookieJar()
br.set_cookiejar(cookies)

# browser settings (used to emulate a browser)
br.set_handle_equiv(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_debug_http(False)
br.set_debug_responses(False)
br.set_debug_redirects(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time = 1)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

br.open('http://twitter.com/') # open twitter

br.select_form(nr=1) # select the form

br['session[username_or_email]'] = username
br['session[password]'] = password
br.submit() # submit the login data
print(br.response().read) # print the response
以下是我运行脚本时的Python输出:

$ python twitterLoginTest.py 
<bound method response_seek_wrapper.read of <response_seek_wrapper at 0x8feaeac whose wrapped object = <closeable_response at 0x8feeaac whose fp = <socket._fileobject object at 0x8feb42c>>>>
$python twitterLoginTest.py
(文件名为twitterLoginTest.py)

现在,我不确定这个回答是什么意思,但它似乎并不正确

下面是我的问题

1) 是否有更好的方法使用脚本登录网站(不仅仅是twitter,还有任何网站,还有一种方法可以修改为在任何登录网站上工作)

2) 我的剧本哪里出错了

3) 如何解决登录问题


我有一个假设,这个问题源于
br。选择表单(nr=1)
(我就是在这里选择表单的),但我不知道该放在那里什么(所以我想这将是第二个表单),因为Twitter没有命名他们的表单。

我认为最后一行应该是:

print(br.response().read()) # print the response
注意
读取后的
()
。您当前只是打印
read
方法本身,而不是调用
read
方法的结果