溫馨提示×

溫馨提示×

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

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

python如何實(shí)現(xiàn)登錄網(wǎng)頁的操作方法

發(fā)布時(shí)間:2021-04-26 10:30:57 來源:億速云 閱讀:157 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下python如何實(shí)現(xiàn)登錄網(wǎng)頁的操作方法,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

python有哪些常用庫

python常用的庫:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。

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

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

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

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

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

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

#encoding=utf-8 
import urllib2 
import urllib 
import cookielib 
def renrenBrower(url,user,password): 
  #登陸頁面,可以通過抓包工具分析獲得,如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ù)器拒絕訪問。 
    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的方法訪問登陸頁面,訪問之后cookieJar會(huì)自定保存cookie 
    opener.open(login_page,data) 
    #以帶cookie的方式訪問頁面 
    op=opener.open(url) 
    #讀取頁面源碼 
    data= op.read() 
    return data 
  except Exception,e: 
    print str(e) 
#訪問某用戶的個(gè)人主頁,其實(shí)這已經(jīng)實(shí)現(xiàn)了人人網(wǎng)的簽到功能。 
print renrenBrower("http://www.renren.com/home","用戶名","密碼")

看完了這篇文章,相信你對“python如何實(shí)現(xiàn)登錄網(wǎng)頁的操作方法”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

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

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

AI