這篇文章主要介紹了Python 登入網站詳解及實例的相關資料,需要的朋友可以參考下
Python 登入網站詳解及實例
##對於大部分論壇,我們想要抓取其中的帖子分析,首先需要登錄,否則無法查看。 這是因為 HTTP 協定是一個無狀態(Stateless)的協議,伺服器如何知道目前請求連線的使用者是否已經登入了呢?有兩種方式:# -*- coding: GB2312 -*- from urllib import urlencode import cookielib, urllib2 # cookie cj = cookielib.LWPCookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) urllib2.install_opener(opener) # Login user_data = {'pwuser': '你的用户名', 'pwpwd': '你的密码', 'step':'2' } url_data = urlencode(user_data) login_r = opener.open("http://bbs.qzzn.com/login.php", url_data)一些註解:
<form action="login.php?" method="post" name="login" onSubmit="this.submit.disabled = true;"> <input type="hidden" value="" name="forward" /> <input type="hidden" value="http://bbs.qzzn.com/index.php" name="jumpurl" /> <input type="hidden" value="2" name="step" /> ... <td width="20%" onclick="document.login.pwuser.focus();"><input type="radio" name="lgt" value="0" checked />用户名 <input type="radio" name="lgt" value="1" />UID</td> <td><input class="input" type="text" maxLength="20" name="pwuser" size="40" tabindex="1" /> <a href="reg1ster.php" rel="external nofollow" >马上注册</a></td> <td>密 码</td> <td><input class="input" type="password" maxLength="20" name="pwpwd" size="40" tabindex="2" /> <a href="sendpwd.php" rel="external nofollow" target="_blank">找回密码</a></td> ... </form>從這裡可以看出,我們需要輸入的使用者名稱密碼對應的就是pwuser 和pwpwd,而step 對應的則是登入(這個是嘗試出來的)。 注意到,這個論壇表單採用的是 post 方式,如果是 get 方式則本文的方法就需要變動一下,不能直接 open,而是應該首先 Request,然後再 open。更詳細的請看手冊...
以上是實例詳解Python 登入網站的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!