2010-08-30 88 views
-1

誰能幫助我與循環,我想環路代碼python循環!

login_form_data = urllib.urlencode(login_form_seq) 
opener = urllib2.build_opener() 
site = opener.open(B, login_form_data).read() 

代碼讓我登錄到網站,但網站有問題,問題是:你不能從第一次登錄

那意思是我必須按提交然後當頁面重新加載時再次提交...所以我認爲循環會這樣做,但如何!?

+0

請爲您的問題選擇一個更有意義的標題。 – 2010-08-30 17:13:11

回答

2

您需要處理cookie。看看the cookielib module

+0

先生你可以向我解釋一下嗎?與代碼和意見# – 2010-08-30 04:32:07

1

如果它是 cookie處理問題,請使用urllib2中的「HTTPCookieProcessor」。 通過將它應用到你的揭幕戰。

cookieHandler = urllib2.HTTPCookieProcessor() # Needed for cookie handling 

# Apply the handler to an opener 
opener = urllib2.build_opener(cookieHandler)   
0

看來您並未接受並保存您嘗試訪問的頁面所需的cookie。這並不奇怪,因爲urllib2不會自動爲您做這件事。正如其他人所說的,您必須明確編寫代碼才能接受Cookie。事情是這樣的:

import urllib2, cookielib 
cj = cookielib.CookieJar() 
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 
urllib2.install_opener(opener) 

login_form_data = urllib.urlencode(login_form_seq) 
site = opener.open(B, login_form_data).read() 

這將是閱讀了在Python約cookielibHTTP state management的好時機。

+0

以及先生它不依賴於餅乾,所以告訴我如何使它提交兩次! – 2010-08-30 17:31:35