2015-07-19 148 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反斜槓是一個轉義字符。所以爲了解決這個問題,我做了這個「****** \ ***」。注意雙反斜槓。否則,這種方法是完美的,它確實有效。

希望有一天能幫助別人。