2015-07-19 110 views
0

我正在尝试使用python(不是PRAW)登录到reddit。以下是密码登录reddit使用机械化python

import mechanize 
import cookielib 
import urllib 
import logging 
import sys 

br = mechanize.Browser() 
cj = cookielib.LWPCookieJar() 
br.set_cookiejar(cj) 

br.set_handle_equiv(True) 
br.addheaders=[('user-agent','Mozilla-Firefox')] 
br.set_handle_redirect(True) 
br.set_handle_referer(True) 
br.set_handle_robots(False) 

br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1) 

r= br.open('http://www.reddit.com') 

    # Select the second (index one) form 
br.select_form(nr=1) 

    # User credentials 
br.form['user'] = 'user' 
br.form['passwd'] = 'passwd' 

    # Login 
x=br.submit() 

this回答声明代码正在工作。但是当我打印x.geturl()。它给出

'https://www.reddit.com/post/login' 

所以我的问题是,是不是这个代码足以登录reddit。或者我错过了什么。还有,如何验证我是否已登录?

谢谢

回答

0

所以我找到了解决这个问题。事实证明,python输入我的密码错误。它就像 ”******\***”。所以很明显,它有反斜杠。但在python反斜杠是一个转义字符。所以为了解决这个问题,我做了这个“****** \ ***”。注意双反斜杠。否则,这种方法是完美的,它确实有效。

希望有一天能帮助别人。