欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 模擬登陸的兩種實(shí)現(xiàn)方法

 更新時(shí)間:2017年08月10日 09:29:09   作者:qindongliang1922  
這篇文章主要介紹了Python 模擬登陸的兩種實(shí)現(xiàn)方法的相關(guān)資料,這里提供兩種方法一個(gè)是普通寫法寫的,另外一個(gè)是基于面向?qū)ο髮懙?,模擬登錄成功后才可能抓取內(nèi)容,需要的朋友可以參考下

Python 模擬登陸的兩種實(shí)現(xiàn)方法

有時(shí)候我們的抓取項(xiàng)目時(shí)需要登陸到某個(gè)網(wǎng)站上,才能看見某些內(nèi)容的,所以模擬登陸功能就必不可少了,散仙這次寫的文章,主要有2個(gè)例子,一個(gè)是普通寫法寫的,另外一個(gè)是基于面向?qū)ο髮懙摹?/p>

模擬登陸的重點(diǎn),在于找到表單真實(shí)的提交地址,然后攜帶cookie,post數(shù)據(jù)即可,只要登陸成功,我們就可以訪問其他任意網(wǎng)頁,從而獲取網(wǎng)頁內(nèi)容。

方式一:

import urllib.request 
import urllib.parse 
import http.cookiejar 
#post的內(nèi)容 
values={ 
'logon.x':'linke', 
'password':'xxxx', 
'username':'xxxxx' 
} 
 
#登陸的地址 
logUrl="http://192.168.32.112:8080/templates/index/hrlogon.do" 
 
#構(gòu)建cook 
cook=http.cookiejar.CookieJar() 
 
#構(gòu)建openner 
openner=urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cook)) 
 
#添加headers 
openner.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36')] 
 
r=openner.open(logUrl,urllib.parse.urlencode(values).encode()) 
 
#print(r.read().decode('gbk')) 
 
r=openner.open("http://192.168.132.62:8080/kq/kqself/card/carddata.do?b_query=link") 
 
print(r.read().decode('gbk')) 



方式二:


import urllib 
import urllib.request 
import urllib.parse 
import http.cookiejar 
import re 
 
 
class loginRLKQ: 
  post_data=b""; 
  def __init__(self): 
    #初始化類,cook的值 
    cj=http.cookiejar.CookieJar() 
    opener=urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj)) 
    opener.addheaders=[('User-Agent','Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)')] 
    #初始化全局opener 
    urllib.request.install_opener(opener) 
 
  #login方法需要加入post數(shù)據(jù) 
  def login(self,loginurl,encode): 
    #模擬登陸 
    req=urllib.request.Request(loginurl,self.post_data) 
    rep=urllib.request.urlopen(req) 
    d=rep.read() 
    #print(d) 
    d=d.decode(encode) 
    return d 
  #登陸之后獲取其他網(wǎng)頁方法 
  def getUrlContent(self,url,encode): 
    req2=urllib.request.Request(url) 
    rep2=urllib.request.urlopen(req2) 
    d2=rep2.read() 
    d22=d2.decode(encode) 
    return d22 
if __name__=="__main__": 
    #實(shí)例化類 
    x=loginRLKQ() 
    #給post數(shù)據(jù)賦值 
    x.post_data=urllib.parse.urlencode({'username':"xxdd",'password':'xxdd','logon.x':'linke'}).encode(encoding="gbk") 
    #登陸 
    y=x.login("http://192.168.132.61:8080/templates/index/hrlogon.do","gbk") 
    #獲取網(wǎng)頁信息 
    print(x.getUrlContent("http://192.124.32.16:8080/kq/kqself/card/carddata.do?b_query=link","gbk")) 

以上就是Python 模擬登陸的實(shí)現(xiàn)方法,如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Python實(shí)現(xiàn)備份MySQL數(shù)據(jù)庫的方法示例

    Python實(shí)現(xiàn)備份MySQL數(shù)據(jù)庫的方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)備份MySQL數(shù)據(jù)庫的方法,涉及Python針對(duì)mysql數(shù)據(jù)庫的連接及基于mysqldump命令操作數(shù)據(jù)庫備份的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-01-01
  • Python函數(shù)參數(shù)的4種方式

    Python函數(shù)參數(shù)的4種方式

    本文主要介紹了Python函數(shù)參數(shù)的4種方式,主要包括必選參數(shù),默認(rèn)參數(shù),可選參數(shù),關(guān)鍵字參數(shù),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Python3.6日志Logging模塊簡(jiǎn)單用法示例

    Python3.6日志Logging模塊簡(jiǎn)單用法示例

    這篇文章主要介紹了Python3.6日志Logging模塊簡(jiǎn)單用法,結(jié)合實(shí)例形式分析了Python3.6環(huán)境下日志Logging模塊設(shè)置格式、文件流輸出相關(guān)操作技巧,需要的朋友可以參考下
    2018-06-06
  • Python pandas入門系列之眾數(shù)和分位數(shù)

    Python pandas入門系列之眾數(shù)和分位數(shù)

    分位數(shù)(Quantile),也稱分位點(diǎn),是指將一個(gè)隨機(jī)變量的概率分布范圍分為幾個(gè)等份的數(shù)值點(diǎn),分析其數(shù)據(jù)變量的趨勢(shì),而眾數(shù)(Mode)是代表數(shù)據(jù)的一般水平,這篇文章主要給大家介紹了Python pandas系列之眾數(shù)和分位數(shù)的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Python繪制散點(diǎn)密度圖的三種方式詳解

    Python繪制散點(diǎn)密度圖的三種方式詳解

    散點(diǎn)密度圖是在散點(diǎn)圖的基礎(chǔ)上,計(jì)算了每個(gè)散點(diǎn)周圍分布了多少其他的點(diǎn),并通過顏色表現(xiàn)出來。本文主要介紹了Python繪制散點(diǎn)密度圖的三種方式,需要的可以參考下
    2022-06-06
  • Python 3.7新功能之dataclass裝飾器詳解

    Python 3.7新功能之dataclass裝飾器詳解

    這篇文章主要給大家介紹了關(guān)于Python 3.7新功能之dataclass裝飾器的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • python正則表達(dá)式re.sub各個(gè)參數(shù)的超詳細(xì)講解

    python正則表達(dá)式re.sub各個(gè)參數(shù)的超詳細(xì)講解

    Python 的 re 模塊提供了re.sub用于替換字符串中的匹配項(xiàng),下面這篇文章主要給大家介紹了關(guān)于python正則表達(dá)式re.sub各個(gè)參數(shù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • 代碼解析python標(biāo)準(zhǔn)庫logging模塊

    代碼解析python標(biāo)準(zhǔn)庫logging模塊

    這篇文章主要為大家介紹了代碼解析python標(biāo)準(zhǔn)庫logging模塊,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • python eval()函數(shù)使用詳情

    python eval()函數(shù)使用詳情

    這篇文章主要來來聊聊python eval()函數(shù)使用方法本文將以python eval()函數(shù)使用方法來展開內(nèi)容,需要的小伙伴可以參考以下文章的內(nèi)容,希望對(duì)你有所幫助
    2021-10-10
  • Python PySpider爬蟲框架安裝使用教程

    Python PySpider爬蟲框架安裝使用教程

    PySpider是一個(gè)Python編寫的分布式網(wǎng)絡(luò)爬蟲框架,它可以幫助開發(fā)者快速構(gòu)建和部署爬蟲,并支持爬蟲任務(wù)的分布式運(yùn)行,PySpider基于Twisted網(wǎng)絡(luò)框架和MongoDB數(shù)據(jù)庫,具有高效、穩(wěn)定、易用等特點(diǎn),同時(shí)還提供了一套Web界面,可以方便地查看爬蟲任務(wù)的運(yùn)行狀態(tài)和結(jié)果
    2023-11-11

最新評(píng)論