python干貨|用requests庫(kù)實(shí)現(xiàn)模擬登陸

Python模擬登錄的幾種方法

方法一:直接使用已知的cookie訪(fǎng)問(wèn)

方法二:模擬登錄后再攜帶得到的cookie訪(fǎng)問(wèn)

方法三:模擬登錄后用session保持登錄狀態(tài)

方法四:使用無(wú)頭瀏覽器訪(fǎng)問(wèn)

方法一:直接使用已知的cookie訪(fǎng)問(wèn)

使用已知的cookie來(lái)訪(fǎng)問(wèn),簡(jiǎn)單來(lái)說(shuō),就是——只要得到了別的客戶(hù)端的cookie树埠,我們就可以假冒成它來(lái)和服務(wù)器對(duì)話(huà)。這給我們的程序帶來(lái)了可乘之機(jī)怠李。

用cookie訪(fǎng)問(wèn)就會(huì)有一下的好處:

可配置到期規(guī)則 Cookie 可以在瀏覽器會(huì)話(huà)結(jié)束時(shí)到期,或者可以在客戶(hù)端計(jì)算機(jī)上無(wú)限期存在蛤克,這取決于客戶(hù)端的到期規(guī)則。

簡(jiǎn)單性 Cookie 是一種基于文本的輕量結(jié)構(gòu)夷蚊,包含簡(jiǎn)單的鍵值對(duì)构挤。

數(shù)據(jù)持久性 雖然客戶(hù)端計(jì)算機(jī)上 Cookie 的持續(xù)時(shí)間取決于客戶(hù)端上的 Cookie 過(guò)期處理和用戶(hù)干預(yù),Cookie 通常是客戶(hù)端上持續(xù)時(shí)間最長(zhǎng)的數(shù)據(jù)保留形式惕鼓。

在這里還是要推薦下我自己建的Python開(kāi)發(fā)學(xué)習(xí)群:483546416筋现,群里都是學(xué)Python開(kāi)發(fā)的,如果你正在學(xué)習(xí)Python 箱歧,小編歡迎你加入矾飞,大家都是軟件開(kāi)發(fā)黨,不定期分享干貨(只有Python軟件開(kāi)發(fā)相關(guān)的)呀邢,包括我自己整理的一份2018最新的Python進(jìn)階資料和高級(jí)開(kāi)發(fā)教程洒沦,歡迎進(jìn)階中和進(jìn)想深入Python的小伙伴

方法二:模擬登錄后再攜帶得到的cookie訪(fǎng)問(wèn)

原理:?我們先在程序中向網(wǎng)站發(fā)出登錄請(qǐng)求,也就是提交包含登錄信息的表單(用戶(hù)名价淌、密碼等)申眼。從響應(yīng)中得到cookie,今后在訪(fǎng)問(wèn)其他頁(yè)面時(shí)也帶上這個(gè)cookie蝉衣,就能得到只有登錄后才能看到的頁(yè)面括尸。

方法三:模擬登錄后用session保持登錄狀態(tài)

首先了解一下session的基本原理:瀏覽器和服務(wù)器采用http無(wú)狀態(tài)的通訊,為了保持客戶(hù)端的狀態(tài)病毡,使用session來(lái)達(dá)到這個(gè)目的濒翻。在session機(jī)制中,采用了一個(gè)唯一的session_id來(lái)標(biāo)示不同的用戶(hù)啦膜,瀏覽器每次請(qǐng)求都會(huì)帶上由服務(wù)器為它生成的session_id.

當(dāng)客戶(hù)端訪(fǎng)問(wèn)服務(wù)器時(shí)有送,服務(wù)器根據(jù)需求設(shè)置session,將會(huì)話(huà)信息保存在服務(wù)器上僧家,同時(shí)將標(biāo)示session的session_id傳遞給客戶(hù)端瀏覽器娶眷,

瀏覽器將這個(gè)session_id保存在內(nèi)存中(還有其他的存儲(chǔ)方式,例如寫(xiě)在url中)啸臀,我們稱(chēng)之為無(wú)過(guò)期時(shí)間的cookie届宠。瀏覽器關(guān)閉后烁落,這個(gè)cookie就清掉了,它不會(huì)存在用戶(hù)的cookie臨時(shí)文件豌注。以后瀏覽器每次請(qǐng)求都會(huì)額外加上這個(gè)參數(shù)值伤塌,再服務(wù)器根據(jù)這個(gè)session_id,就能取得客戶(hù)端的數(shù)據(jù)狀態(tài)轧铁。

方法四:使用無(wú)頭瀏覽器訪(fǎng)問(wèn)

無(wú)頭瀏覽器說(shuō)白了就是能模擬人工在有頭瀏覽器中的各種操作每聪。那自然很多人力活,都能使用無(wú)頭瀏覽器來(lái)做(比如上面這個(gè)下載 pdf 的過(guò)程齿风,其實(shí)是人力打開(kāi)每一個(gè)文章頁(yè)面药薯,然后按 ctrl+p 或 command+p 保存到本地的自動(dòng)化過(guò)程)。

無(wú)頭瀏覽器列舉:

PhantomJS:基于QtWebkit的無(wú)頭瀏覽器救斑,第一看到PhantomJS以為是一個(gè)NodeJS的模塊童本,其實(shí)PhantomJS和NodeJS的處于同等級(jí)別的應(yīng)用,兩者毫無(wú)關(guān)系脸候。唯一有聯(lián)系的就是他們使用的開(kāi)發(fā)語(yǔ)言都是javascript

SlimerJS:基于Gecko的無(wú)頭瀏覽器穷娱,SlimerJS和PhantomJS基本兼容,就是一個(gè)內(nèi)核換成了Gecko的PhantomJS

HtmlUnit:純java開(kāi)發(fā)的無(wú)頭瀏覽器运沦,完全java開(kāi)發(fā)泵额,javascript引擎使用的是Rhnio,由于不是基于Webkit携添、Gecko等主流內(nèi)核開(kāi)發(fā)嫁盲,兼容性不好


最后

前幾天有私信小編要Python的學(xué)習(xí)資料,小編整理了一些有深度的Python教程和參考資料烈掠,從入門(mén)到高級(jí)的都有亡资,文件已經(jīng)打包好了,正在學(xué)習(xí)Python的同學(xué)可以下載學(xué)習(xí)學(xué)習(xí)向叉。文件下載方式關(guān)注微信公眾號(hào):程序員大牛锥腻,即可下載。首先把代碼擼起來(lái)母谎!首先把代碼擼起來(lái)瘦黑!首先把代碼擼起來(lái)!重要的事說(shuō)三遍奇唤,哈哈幸斥。“編程是門(mén)手藝活”咬扇。什么意思甲葬?得練啊。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末懈贺,一起剝皮案震驚了整個(gè)濱河市经窖,隨后出現(xiàn)的幾起案子坡垫,更是在濱河造成了極大的恐慌,老刑警劉巖画侣,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冰悠,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡配乱,警方通過(guò)查閱死者的電腦和手機(jī)溉卓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)搬泥,“玉大人桑寨,你說(shuō)我怎么就攤上這事》揲荩” “怎么了尉尾?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)休溶。 經(jīng)常有香客問(wèn)我,道長(zhǎng)兽掰,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任孽尽,我火速辦了婚禮,結(jié)果婚禮上忧勿,老公的妹妹穿的比我還像新娘。我一直安慰自己鸳吸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布晌砾。 她就那樣靜靜地躺著,像睡著了一般养匈。 火紅的嫁衣襯著肌膚如雪哼勇。 梳的紋絲不亂的頭發(fā)上呕乎,一...
    開(kāi)封第一講書(shū)人閱讀 52,158評(píng)論 1 308
  • 那天积担,我揣著相機(jī)與錄音,去河邊找鬼猬仁。 笑死帝璧,一個(gè)胖子當(dāng)著我的面吹牛先誉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播聋溜,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼谆膳,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了撮躁?” 一聲冷哼從身側(cè)響起漱病,我...
    開(kāi)封第一講書(shū)人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎把曼,沒(méi)想到半個(gè)月后杨帽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嗤军,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年注盈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叙赚。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡老客,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出震叮,到底是詐尸還是另有隱情胧砰,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布苇瓣,位于F島的核電站尉间,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏击罪。R本人自食惡果不足惜哲嘲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望媳禁。 院中可真熱鬧眠副,春花似錦、人聲如沸竣稽。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)丧枪。三九已至光涂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拧烦,已是汗流浹背忘闻。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留恋博,地道東北人齐佳。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓私恬,卻偏偏與公主長(zhǎng)得像本鸣,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子硅蹦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容