python爬蟲 模擬登錄人人網(wǎng)過程解析
requests 提供了一個叫做session類,來實(shí)現(xiàn)客戶端和服務(wù)端的會話保持
使用方法
1.實(shí)例化一個session對象
2.讓session發(fā)送get或者post請求
session = requests.session() session.get(url,headers)
下面就用人人網(wǎng)來實(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請求,cookie保存在其中
session.post(post_url, data=post_data, headers=headers)
# 在使用session進(jìn)行請求登陸之后才能訪問的地址
# 這是個人首頁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)并且獲取了個人首頁信息頁面保存到本地。
其實(shí)網(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 中,其實(shí) 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 通過爬蟲實(shí)現(xiàn)GitHub網(wǎng)頁的模擬登錄的示例代碼
- Python3以GitHub為例來實(shí)現(xiàn)模擬登錄和爬取的實(shí)例講解
- Python+Selenium+phantomjs實(shí)現(xiàn)網(wǎng)頁模擬登錄和截圖功能(windows環(huán)境)
- Python模擬登錄之滑塊驗(yàn)證碼的破解(實(shí)例代碼)
- python 利用瀏覽器 Cookie 模擬登錄的用戶訪問知乎的方法
- Python 制作自動化翻譯工具
- python實(shí)現(xiàn)百度文庫自動化爬取
- Python模擬登錄網(wǎng)易云音樂并自動簽到
相關(guān)文章
python 實(shí)時調(diào)取攝像頭的示例代碼
這篇文章主要介紹了python 實(shí)時調(diào)取攝像頭的示例代碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-11
python如何統(tǒng)計字符串漢字?jǐn)?shù)量
這篇文章主要介紹了python如何統(tǒng)計字符串漢字?jǐn)?shù)量問題,2024-05-05
基于python進(jìn)行抽樣分布描述及實(shí)踐詳解
這篇文章主要介紹了基于python進(jìn)行抽樣分布描述及實(shí)踐詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09
Python中使用aiohttp模擬服務(wù)器出現(xiàn)錯誤問題及解決方法
這篇文章主要介紹了Python中使用aiohttp模擬服務(wù)器出現(xiàn)錯誤,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10
Python使用ChainMap實(shí)現(xiàn)組合數(shù)據(jù)魔法實(shí)例探究
這篇文章主要為大家介紹了Python使用ChainMap實(shí)現(xiàn)組合數(shù)據(jù)魔法實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
centos 安裝Python3 及對應(yīng)的pip教程詳解
這篇文章主要介紹了centos 安裝Python3 及對應(yīng)的pip的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-06-06
python+numpy按行求一個二維數(shù)組的最大值方法
今天小編就為大家分享一篇python+numpy按行求一個二維數(shù)組的最大值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07

