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