溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python 怎么登錄網(wǎng)站

發(fā)布時(shí)間:2020-09-23 17:17:04 來(lái)源:億速云 閱讀:148 作者:Leah 欄目:編程語(yǔ)言

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)python 怎么登錄網(wǎng)站,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

python實(shí)現(xiàn)登錄網(wǎng)站的方法:

1、首先我們要先了解cookie的工作原理。

Cookie是由服務(wù)器端生成,發(fā)送給User-Agent(一般是瀏覽器),瀏覽器會(huì)將Cookie的key/value保存到某個(gè)目錄下的文本文件內(nèi),下次請(qǐng)求同一網(wǎng)站時(shí)就發(fā)送該Cookie給服務(wù)器(前提是瀏覽器設(shè)置為啟用cookie)。Cookie名稱和值可以由服務(wù)器端開發(fā)自己定義,對(duì)于JSP而言也可以直接寫入jsessionid,這樣服務(wù)器可以知道該用戶是否合法用戶以及是否需要重新登錄等。

2、之后我們要獲取到用戶正常登錄的cookie.

python提供了cookieJar的庫(kù),只要把cookieJar的實(shí)例作為參數(shù)傳到urllib2的一個(gè)opener里面。

然后訪問(wèn)一次登錄的頁(yè)面,cookie就已經(jīng)保存下來(lái)了。之后通過(guò)這個(gè)實(shí)例訪問(wèn)所有的頁(yè)面都帶有正常登陸的cookie了。

以人人網(wǎng)為例子。

#encoding=utf-8 
import urllib2 
import urllib 
import cookielib 
def renrenBrower(url,user,password): 
  #登陸頁(yè)面,可以通過(guò)抓包工具分析獲得,如fiddler,wireshark 
  login_page = "http://www.renren.com/PLogin.do" 
  try: 
    #獲得一個(gè)cookieJar實(shí)例 
    cj = cookielib.CookieJar() 
    #cookieJar作為參數(shù),獲得一個(gè)opener的實(shí)例 
    opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 
    #偽裝成一個(gè)正常的瀏覽器,避免有些web服務(wù)器拒絕訪問(wèn)。 
    opener.addheaders = [('User-agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)')] 
    #生成Post數(shù)據(jù),含有登陸用戶名密碼。 
    data = urllib.urlencode({"email":user,"password":password}) 
    #以post的方法訪問(wèn)登陸頁(yè)面,訪問(wèn)之后cookieJar會(huì)自定保存cookie 
    opener.open(login_page,data) 
    #以帶cookie的方式訪問(wèn)頁(yè)面 
    op=opener.open(url) 
    #讀取頁(yè)面源碼 
    data= op.read() 
    return data 
  except Exception,e: 
    print str(e) 
#訪問(wèn)某用戶的個(gè)人主頁(yè),其實(shí)這已經(jīng)實(shí)現(xiàn)了人人網(wǎng)的簽到功能。 
print renrenBrower("http://www.renren.com/home","用戶名","密碼")

上述就是小編為大家分享的python 怎么登錄網(wǎng)站了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI