国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:6日期:2022-07-05 10:10:26

最近由于某些原因,需要用到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ù)如下:

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

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

Python模擬登錄requests.Session應(yī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)址沒有登錄是看不了的:

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

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

import requestsfrom 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)成功登錄:

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

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

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

至此,登錄成功。

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

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 手机看片福利在线 | 亚洲成a人片在线观看中 | 亚洲精品高清国产麻豆专区 | 亚洲 欧美 日韩 在线 中文字幕 | 久久这里只有精品免费视频 | 男女同床爽爽视频免费 | 天天五月天丁香婷婷深爱综合 | 久草在线视频资源 | 中国一级毛片免费观看 | 国产日韩欧美一区二区三区在线 | 手机看片77v1| 免费v片在线看 | 可以看毛片的网站 | 国产国语在线播放视频 | 午夜三级国产精品理论三级 | 欧日韩美香蕉在线观看 | 国产精品久久国产三级国电话系列 | 深夜在线观看大尺度 | 黄色网址进入 | 怡红院免费的全部视频国产a | 欧美日韩国产一区二区三区在线观看 | 精品国产一区二区在线观看 | 亚洲加勒比久久88色综合一区 | 国产盗摄一区二区三区 | 另类视频区第一页 | 成人影院午夜久久影院 | 日本欧美一区二区三区视频 | 国产激情久久久久影 | 免费国产成人午夜在线观看 | 免费的毛片| 国产美女午夜精品福利视频 | 日本免费大黄在线观看 | 91欧美亚洲 | 欧美午夜精品久久久久免费视 | 久久ri精品高清一区二区三区 | 欧美精品一二三区 | 精品一区二区三区免费观看 | 欧美日韩视频在线第一区二区三区 | 日本aaaaa毛片动漫 | 中文字幕在线精品 | 国内真实愉拍系列情侣自拍 |