python爬蟲(chóng) 模擬登錄人人網(wǎng)過(guò)程解析
requests 提供了一個(gè)叫做session類,來(lái)實(shí)現(xiàn)客戶端和服務(wù)端的會(huì)話保持
使用方法
1.實(shí)例化一個(gè)session對(duì)象
2.讓session發(fā)送get或者post請(qǐng)求
session = requests.session() session.get(url,headers)
下面就用人人網(wǎng)來(lái)實(shí)戰(zhàn)一下
# coding=utf-8 import requests session = requests.session() # 登錄的表單url post_url = "http://www.renren.com/PLogin.do" post_data = {"email": "your_email", "password": "your_password"} headers = { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36" } # 使用session發(fā)送post請(qǐng)求,cookie保存在其中 session.post(post_url, data=post_data, headers=headers) # 在使用session進(jìn)行請(qǐng)求登陸之后才能訪問(wèn)的地址 # 這是個(gè)人首頁(yè)url r = session.get("http://www.renren.com/327550088/profile", headers=headers) # 保存頁(yè)面到本地 with open("renren1.html", "w", encoding="utf-8") as f: f.write(r.content.decode('utf-8'))
就這么簡(jiǎn)單,模擬登錄上人人網(wǎng)并且獲取了個(gè)人首頁(yè)信息頁(yè)面保存到本地。
其實(shí)網(wǎng)站記錄登錄狀態(tài)就是通過(guò)cookie里面攜帶的信息,如果我們發(fā)送請(qǐng)求的時(shí)候帶上登錄的cookie能不能夠訪問(wèn)到只有登錄才能訪問(wèn)的頁(yè)面,當(dāng)然是可以的
請(qǐng)看代碼
# coding=utf-8 import requests headers = { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36", "Cookie":"你的登錄cookie" } r = requests.get("http://www.renren.com/327550088/profile",headers=headers) #保存頁(yè)面 with open("renren2.html","w",encoding="utf-8") as f: f.write(r.content.decode())
可以看到, Cookie 可以放在 headers 中,其實(shí) requests 中也有一個(gè)參數(shù)用來(lái)傳遞cookie,這個(gè)參數(shù)就是 cookies
請(qǐng)看代碼
# 字典生成器的用法 cookies = {i.split("=")[0]:i.split("=")[1] for i in cookies.split("; ")} print(cookies) r = requests.get("http://www.renren.com/327550088/profile",headers=headers,cookies=cookies)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python爬取企查查企業(yè)信息之selenium自動(dòng)模擬登錄企查查
- Python模擬登錄requests.Session應(yīng)用詳解
- Python 通過(guò)爬蟲(chóng)實(shí)現(xiàn)GitHub網(wǎng)頁(yè)的模擬登錄的示例代碼
- Python3以GitHub為例來(lái)實(shí)現(xiàn)模擬登錄和爬取的實(shí)例講解
- Python+Selenium+phantomjs實(shí)現(xiàn)網(wǎng)頁(yè)模擬登錄和截圖功能(windows環(huán)境)
- Python模擬登錄之滑塊驗(yàn)證碼的破解(實(shí)例代碼)
- python 利用瀏覽器 Cookie 模擬登錄的用戶訪問(wèn)知乎的方法
- Python 制作自動(dòng)化翻譯工具
- python實(shí)現(xiàn)百度文庫(kù)自動(dòng)化爬取
- Python模擬登錄網(wǎng)易云音樂(lè)并自動(dòng)簽到
相關(guān)文章
Keras中的多分類損失函數(shù)用法categorical_crossentropy
這篇文章主要介紹了Keras中的多分類損失函數(shù)用法categorical_crossentropy,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06使用python生成云詞圖實(shí)現(xiàn)畫紅樓夢(mèng)詞云圖
紅樓夢(mèng)相信大家都看過(guò),今天給大家介紹另一種不用搞得烏漆麻黑的方式來(lái)制作紅樓夢(mèng)的詞云圖,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09對(duì)Python函數(shù)設(shè)計(jì)規(guī)范詳解
今天小編就為大家分享一篇對(duì)Python函數(shù)設(shè)計(jì)規(guī)范詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07對(duì)Python subprocess.Popen子進(jìn)程管道阻塞詳解
今天小編就為大家分享一篇對(duì)Python subprocess.Popen子進(jìn)程管道阻塞詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10Python Flask基礎(chǔ)到登錄功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了Python Flask基礎(chǔ)到登錄功能的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05python學(xué)習(xí)-List移除某個(gè)值remove和統(tǒng)計(jì)值次數(shù)count
這篇文章主要介紹了?python學(xué)習(xí)-List移除某個(gè)值remove和統(tǒng)計(jì)值次數(shù)count,文章基于python的相關(guān)內(nèi)容展開(kāi)詳細(xì)介紹,需要的小伙伴可以參考一下2022-04-04