最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python模擬登錄requests.Session應(yīng)用詳解

 更新時(shí)間:2020年11月17日 11:21:16   作者:whatbeg  
這篇文章主要介紹了Python模擬登錄requests.Session應(yīng)用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

最近由于某些原因,需要用到Python模擬登錄網(wǎng)站,但是以前對(duì)這塊并不了解,而且目標(biāo)網(wǎng)站的登錄方法較為復(fù)雜, 所以一下卡在這里了,于是我決定從簡(jiǎn)單的模擬開始,逐漸深入地研究下這塊。

注:本文僅為交流學(xué)習(xí)所用。

登錄特點(diǎn):明文傳輸,有特殊標(biāo)志數(shù)據(jù)

會(huì)話對(duì)象requests.Session能夠跨請(qǐng)求地保持某些參數(shù),比如cookies,即在同一個(gè)Session實(shí)例發(fā)出的所有請(qǐng)求都保持同一個(gè)cookies,而requests模塊每次會(huì)自動(dòng)處理cookies,這樣就很方便地處理登錄時(shí)的cookies問題。在cookies的處理上會(huì)話對(duì)象一句話可以頂過好幾句urllib模塊下的操作。即相當(dāng)于urllib中的:

cj = http.cookiejar.CookieJar()
pro = urllib.request.HTTPCookieProcessor(cj)
opener = urllib.request.build_opener(pro)
urllib.request.install_opener(opener)

模擬登錄V站

本篇文章的任務(wù)是利用request.Session模擬登錄V2EX(http://www.v2ex.com/)這個(gè)網(wǎng)站,即V站。

工具: Python 3.5,BeautifulSoup模塊,requests模塊,Chrome

這個(gè)網(wǎng)站登錄的時(shí)候抓到的數(shù)據(jù)如下:

其中用戶名(u)、密碼(p)都是明文傳輸?shù)?,很方便。once的話從分析登錄URL:http://www.v2ex.com/signin 的源文件(下圖)可以看出,應(yīng)該是每次登錄的特有數(shù)據(jù),我們需要提前把它抓出來再放到Form Data里面POST給網(wǎng)站。

抓出來還是老方法,用BeautifulSoup神器即可。這里又學(xué)到一種抓標(biāo)簽里面元素的方法,比如抓上面的"value",用soup.find('input',{'name':'once'})['value']即可

即抓取含有 name="once"的input標(biāo)簽中的value對(duì)應(yīng)的值。

于是構(gòu)建postData,然后POST。

怎么顯示登錄成功呢?這里通過訪問http://www.v2ex.com/settings 即可,因?yàn)檫@個(gè)網(wǎng)址沒有登錄是看不了的:

經(jīng)過上面的分析,寫出源代碼(參考了alexkh的代碼):

import requests
from bs4 import BeautifulSoup
 
url = "http://www.v2ex.com/signin"
UA = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.13 Safari/537.36"
 
header = { "User-Agent" : UA,
      "Referer": "http://www.v2ex.com/signin"
      }
 
v2ex_session = requests.Session()
f = v2ex_session.get(url,headers=header)
 
soup = BeautifulSoup(f.content,"html.parser")
once = soup.find('input',{'name':'once'})['value']
print(once)
 
postData = { 'u': 'whatbeg',
       'p': '*****',
       'once': once,
       'next': '/'
       }
 
v2ex_session.post(url,
         data = postData,
         headers = header)
 
f = v2ex_session.get('http://www.v2ex.com/settings',headers=header)
print(f.content.decode())

然后運(yùn)行發(fā)現(xiàn)成功登錄:

上面趴下來的網(wǎng)頁源代碼即為http://www.v2ex.com/settings的代碼。這里once為91279.

至此,登錄成功。

到此這篇關(guān)于Python模擬登錄requests.Session應(yīng)用詳解的文章就介紹到這了,更多相關(guān)Python模擬登錄requests.Session內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python快速建立超簡(jiǎn)單的web服務(wù)器的實(shí)現(xiàn)方法

    python快速建立超簡(jiǎn)單的web服務(wù)器的實(shí)現(xiàn)方法

    某些條件測(cè)試,需要一個(gè)簡(jiǎn)單的web服務(wù)器測(cè)試一下,為此專門去配置個(gè)nginx 或者 apache服務(wù)器略顯麻煩,這里就為大家介紹一下使用python快速建立超簡(jiǎn)單的web服務(wù)器的方法,需要的朋友可以參考下
    2018-02-02
  • python繪制lost損失曲線加方差范圍的操作方法

    python繪制lost損失曲線加方差范圍的操作方法

    這篇文章主要介紹了python繪制lost損失曲線加方差范圍的操作方法,首先大家需要導(dǎo)入必要的包及數(shù)據(jù)的獲取方法,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-10-10
  • python Tkinter版學(xué)生管理系統(tǒng)

    python Tkinter版學(xué)生管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python Tkinter版學(xué)生管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Matplotlib實(shí)戰(zhàn)之折線圖繪制詳解

    Matplotlib實(shí)戰(zhàn)之折線圖繪制詳解

    折線圖是一種用于可視化數(shù)據(jù)變化趨勢(shì)的圖表,它可以用于表示任何數(shù)值隨著時(shí)間或類別的變化,本文主要介紹了如何利用Matplotlib實(shí)現(xiàn)折線圖的繪制,感興趣的可以了解下
    2023-08-08
  • 新年福利來一波之Python輕松集齊五福(demo)

    新年福利來一波之Python輕松集齊五福(demo)

    這篇文章主要介紹了新年福利來一波之Python輕松集齊五福的小demo,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Python可視化神器pyecharts之繪制箱形圖

    Python可視化神器pyecharts之繪制箱形圖

    這篇文章主要介紹了Python可視化神器pyecharts之繪制箱形圖,箱形圖(Box-plot)又稱為盒須圖、盒式圖或箱線圖,是一種用作顯示一組數(shù)據(jù)分散情況資料的統(tǒng)計(jì)圖,因形狀如箱子而得名
    2022-07-07
  • python神經(jīng)網(wǎng)絡(luò)InceptionV3模型復(fù)現(xiàn)詳解

    python神經(jīng)網(wǎng)絡(luò)InceptionV3模型復(fù)現(xiàn)詳解

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)InceptionV3模型復(fù)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>
    2022-05-05
  • Python如何使用pymongo連接MongoDB數(shù)據(jù)庫并進(jìn)行相關(guān)操作

    Python如何使用pymongo連接MongoDB數(shù)據(jù)庫并進(jìn)行相關(guān)操作

    PyMongo是驅(qū)動(dòng)程序,使python程序能夠使用Mongodb數(shù)據(jù)庫,使用python編寫而成,下面這篇文章主要給大家介紹了關(guān)于Python如何使用pymongo連接MongoDB數(shù)據(jù)庫并進(jìn)行相關(guān)操作的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • python 阿里云oss實(shí)現(xiàn)直傳簽名與回調(diào)驗(yàn)證的示例方法

    python 阿里云oss實(shí)現(xiàn)直傳簽名與回調(diào)驗(yàn)證的示例方法

    這篇文章主要介紹了python 阿里云oss實(shí)現(xiàn)直傳簽名與回調(diào)驗(yàn)證,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python實(shí)現(xiàn)詞云圖詞頻統(tǒng)計(jì)

    Python實(shí)現(xiàn)詞云圖詞頻統(tǒng)計(jì)

    這篇文章主要為大家詳細(xì)介紹了Python數(shù)據(jù)分析中的詞頻統(tǒng)計(jì)和詞云圖可視化,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下
    2022-12-12

最新評(píng)論

灵璧县| 板桥市| 天津市| 哈尔滨市| 乐都县| 静安区| 棋牌| 弥渡县| 屏东县| 从江县| 湄潭县| 东至县| 呼图壁县| 台东市| 越西县| 汝州市| 峡江县| 和龙市| 荃湾区| 大竹县| 阿城市| 通海县| 博白县| 历史| 南阳市| 包头市| 安仁县| 沧州市| 宝丰县| 阿坝县| 东乡| 义乌市| 四川省| 斗六市| 铁力市| 惠水县| 慈溪市| 永川市| 西盟| 长治市| 黑河市|