使用requests如何實現自動登錄

??不知道大家有沒有注意到,好多網站我們登錄過后,在之后的某段時間內訪問該網頁時,不會給出請登錄的提示,時間到期后就會提示請登錄!這樣在使用爬蟲訪問網頁時還要登錄,打亂我們的節奏,那么如何使用requests實現自動登錄呢?
??這時候就會聯想到:當網站發現我們是爬蟲時為了讓我們的爬蟲偽裝成瀏覽器取訪問網站,我們當時在爬蟲如何應對網站的反爬機制?一文中提到如何查找user-agent對應的值。同樣的,這時候我們需要找到鍵Cookie對應放入值。那么即使時間已經到期了,我們可以讓代碼替我們實現自動登錄這個步驟然后獲取網頁源代碼

在這里插入圖片描述

requests自動登錄原理:在發送請求的時候將登錄信息也發送給服務器

第一步:人工在瀏覽器中打開網頁完成登錄

第二步:獲取瀏覽器登錄成功后的cookie

第三步:在請求的headers中添加cookie

注意: 每個網站可能會有很多cookie,我們要的是Request Headers中的cookie,而不是Response Headers中的cookie

在這里插入圖片描述

在這里插入圖片描述

??注意:鍵cookie是固定的,跟前面我們將爬蟲偽裝成瀏覽器時獲取鍵user-agent對應的值一樣;把值獲取后兩個鍵值對一同寫入字典Headers中然后賦值給python內置的headers(也是固定的)中,這些固定語法不能改變。
import requests# 向目標網站發送請求
url = 'https://www.zhihu.com/'
Headers = {'cookie': '_zap=e68fb091-ad3c-4f93-aaa5-3cb8e44a9a92; d_c0=AODYStMrrhaPTlvcfmFVCztltt7TT4e6dMY=|1682425552; YD00517437729195%3AWM_TID=%2Fw2rAW%2F1bc5EEUQRFFfFboqUeESdv8UO; __snaker__id=VHc2QYrZj6d379F2; q_c1=8680cf29b93f49018441203a765964d4|1686278372000|1686278372000; _xsrf=fae4dbec-7c5a-4b3c-be0a-5f318cedfb10; gdxidpyhxdE=zjz01of9j86tPULz9%2BDaD06kGzhDblRolK7BrKpzk%2B8NjO4y59E162vc%2FRpL1I7LD3gSBy5lhicvGGpGTCn%5CQHwZcjMWsXdwJ299Q5diIdxGp%2FyVCHOeIoetERVrhHJUvyvVlIltzP8%5CtAOWRwOVuggudZQa0LXUlI9C3Cbewciyp%5C4T%3A1691650923028; YD00517437729195%3AWM_NI=N1C1wqYHU2fXpmstB8EFtmf7J8gy8gNzbNry8eM96QGb0hYVtidkTXDwX2LFHsplSk%2FtnxqDq68Rk1w67EhUmQ15sF1Xd4Qb1l2n2JukO9zKctuLWZfIISQdXiGlAHSCTHo%3D; YD00517437729195%3AWM_NIKE=9ca17ae2e6ffcda170e2e6ee85d533abeda39bf64186868aa7d54a969e9aadc574b6babdb4e639fc8e8f88f12af0fea7c3b92a8eef8dd2f67b9b989bd3e554b4b3bd95c134879abc8ee53d8ae8a99abb6d8ea6aeaff173fcbb83dab55b85be0089dc5eb8b7ac8cd75488a998d3cf4e8cadc08dd261edaca299f450b3eaf8b3ea3bb5eaf9a6eb5faf8fffd6f24ef388acd5d46af3b4fe8fb142b7b581daf941a1acbbadd652a69787b4d4709cb7898dc444919d9ca9ee37e2a3; captcha_session_v2=2|1:0|10:1691650047|18:captcha_session_v2|88:Z1U0SWQ3bHhSYU4yZjA1U3dqVEI2a09zcVRwRkJZQ1hzZ0djTVhMNWZkQnRiSE12dHg0WHVhQitlalVGbm1UdQ==|a6aec32bfadbb845cf07a2014fac05d80665a507ce5b6b54e55889f05f29958d; captcha_ticket_v2=2|1:0|10:1691650061|17:captcha_ticket_v2|704:eyJ2YWxpZGF0ZSI6IkNOMzFfLnNPSHpNRU9FMjl4cUVySGZPLkp6TnF2eGo4VXUtemsuRGtkX2NvOHp6dXpBX1Y4MVJYLTFrc28xb2lmc2w4YkxHZWRfSENRNl9YcGlpVHJnNFFWOUFkZE5leEJSZjBiUnE4TURsUEtBZ2pwNnc3SS1zek03ZWhMbmNOTUVtbDQ4YTRwMk02OTJHUEpTZkJFZldvYlFNRHRLb1VXRVBUZlFqZk8wZ0E0YVFUcDhMcTFFWk1NS3RpREsxMUE5b09YMGVmUnllWjlEbmc3azkuaWQ0SGlzOC51TmRmaGhrMG94VVFvV3IxeXNLN092eUE3Rkc0VGRMdGpBbi5PQXpaQWdXcjJ1dGZOY1RKUEVJeHZ2bjR6QWh4ZGFYd2cxUGRZekctcFQ4QzJNUVM0LUpTQ2VLa0xOdVg0UWxBTTV2Wkk0TDVUdXdaOUQwOWdZOEZqeC1QRS5ZTlFaUEQ1Qm5Dei1veXpaRDdfeFRDRmlvaUJRcExvYjJxakJ4bXBDZUhkX1FFdG9neEhhR0JGLXUtb0lFUTBmekhpTko0TDF6dWViRUhnYXY2dFhTR0JwMjU4R3hIMnp2NWpqLThxUm05d3NzUTBSZ0x6R2xueWZoYllXUGZQMGM4Znk3R1U5UTdocjRBRktJclhhQmpESUlsV1E1cEsxaWxxR2VYMyJ9|74bd64a8f77bb3a17015571a1cb76ce6cd740e5e264f3bf8aab46c1785f78c42; z_c0=2|1:0|10:1691650079|4:z_c0|92:Mi4xaW5CWUdRQUFBQUFBNE5oSzB5dXVGaVlBQUFCZ0FsVk5IOWJCWlFCelVLQ19VVU91LThOaEtrVjhHRHluNVBRb2dB|94c7ced0f6ca44537ff9d4fc41f23966d26f1b3173d67a3f469eff45b5228441; tst=r; SESSIONID=WG4zsbW44LZXHe6dSizfsKsCF6zCrd8aeRjDJClAn4T; KLBRSID=ca494ee5d16b14b649673c122ff27291|1691650098|1691650011','user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36'
}# 獲取響應結果
response = requests.get('url', headers=Headers)
# print(response)
# 獲取網頁源代碼
print(response.text)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/35024.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/35024.shtml
英文地址,請注明出處:http://en.pswp.cn/news/35024.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

考研408 | 【計算機網絡】 數據鏈路層

導圖: 數據鏈路層概念: 結點:主機、路由器 鏈路:網絡中兩個結點之間的物理通道,鏈路的傳輸介質主要有雙絞線、光纖和微波。分為有線鏈路、無線鏈路。 數據鏈路:網絡中兩個結點之間的邏輯通道&#xff0…

河道水位自動監測預警 yolov5

河道水位自動監測預警系統基于yolov5網絡模型AI視頻智能水尺讀數技術,河道水位自動監測預警系統通過在河道周邊布設監控攝像頭,實時監測水位的變化,一旦水位超過預設閾值,將自動發出預警信號,并提示相關人員采取相應的…

Three.js 實現材質邊緣通道發光效果

相關API的使用: 1. EffectComposer(渲染后處理的通用框架,用于將多個渲染通道(pass)組合在一起創建特定的視覺效果) 2. RenderPass(是用于渲染場景的通道。它將場景和相機作為輸入,使用Three.…

使用script標簽解決跨域問題,但是只能使用get請求,且不需要獲取get請求的數據,例如埋點,只需要觸發后發送get請求,而不需要獲取返回的參數

在項目中,使用埋點的時候,因為使用的是外部提供的接口,所以直接請求的時候,前端會報跨域的問題,本著不麻煩后端的想法,怎怎么前端實現跨域而完全不需要后段的配合,這時候就想到了通過script標簽…

【簡單認識zookeeper+kafka分布式消息隊列集群的部署】

文章目錄 一、zookeeper1、定義2、工作機制3、Zookeeper 特點4、Zookeeper 數據結構5、Zookeeper 應用場景6、Zookeeper 選舉機制(1)第一次啟動選舉機制(2)非第一次啟動選舉機制 7、部署zookeeper群集 二、消息隊列概述1、為什么需…

百度云盤發展歷程與影響

摘要: 百度云盤作為中國領先的云存儲與共享服務提供商,自其創立至今經歷了多個階段的發展與變革。本論文通過對百度云盤的歷史回顧與分析,探討了其在技術、商業模式、用戶體驗以及對社會的影響等方面的演變。同時,還分析了在競爭激…

使用luarocks安裝cjson并使用cjson

1.luarocks安裝 wget https://luarocks.org/releases/luarocks-3.3.1.tar.gz --no-check-certificatels -lrthtar -xvf luarocks-3.3.1.tar.gz mv luarocks-3.3.1 /usr/local/cd /usr/local/luarocks-3.3.1/./configure --prefix/usr/local/luarocks-3.3.1 vim /etc/profilePAT…

Mac下??Git如何下載/上傳遠程倉庫

使用終端檢查電腦是否安裝Git git --version 通過此文章安裝Git ?? ???????傳送門🌐 方式1??使用終端操作 1.下載——克隆遠程倉庫到本地 git clone [遠程地址] 例:git clone https://gitee.com/lcannal/movie.git? 2.編…

Windows - UWP - 為UWP應用創建桌面快捷方式

Windows - UWP - 為UWP應用創建桌面快捷方式 前言 這是一個較為簡單的方式,不需要過多的命令行。 How 首先Win R -> shell:AppsFolder -> 回車, 這將顯示電腦上的已安裝應用(Win32 & UWP): 找到想要創建…

【Nginx】Nginx負載均衡

負載均衡:通過反向代理來實現 Nginx的七層代理和四層代理: 七層是最常用的反向代理方式,只能配置在nginx配置文件的http模塊當中 ;配置的方法名稱為:upstream模塊,不能寫在server中也不能寫在location中&a…

ZABBIX 6.4的完全安裝步驟

此安裝文檔是我一步一步的驗證過的,按步驟來可以順暢的安成ZABBIX6.4的部署。 Zabbix 主要有以下幾個組件組成: Zabbix Server6.4:Zabbix 服務端,是 Zabbix 的核心組件。它負責接收監控數據并觸發告警,還負責將監控數…

Leetcode

持續更新中。。。。。。。。。。。。。。 day 20230811 /*** 給你一個正方形矩陣 mat&#xff0c;請你返回矩陣對角線元素的和。* <p>* 請你返回在矩陣主對角線上的元素和副對角線上且不在主對角線上元素的和* <p>* 不包括 相交的元素只計算一次* <p>* 輸入&…

(2023Arxiv)Meta-Transformer: A Unified Framework for Multimodal Learning

論文鏈接&#xff1a;https://arxiv.org/abs/2307.10802 代碼鏈接&#xff1a;https://github.com/invictus717/MetaTransformer 項目主頁&#xff1a;https://kxgong.github.io/meta_transformer/ 【注】&#xff1a;根據實驗結果來看&#xff0c;每次輸入一種數據源進行處…

Java項目初始化ES、MYSQL表結構及表數據

一、初始化MYSQL數據 public boolean initMysql() throws Exception {log.info("initMysql.start");//獲取所連接的數據庫名稱String database systemMapper.getDatabase();if (StringUtils.isBlank(database)) {throw new BusinessException("連接數據庫失敗,…

微信小程序時鐘

微信小程序自定義時鐘&#xff0c;模擬翻牌時鐘。1、頁面布局 <view class"date-time-box"><view class"date-box">{{nowDate}}</view><view class"time-box"><view><image class"pic01 {{move[0]?move…

代碼隨想錄算法訓練營第45天|動態規劃part07

8.11 周五 70. 爬樓梯 &#xff08;進階&#xff09; 322. 零錢兌換 279.完全平方數 詳細布置 70. 爬樓梯 &#xff08;進階&#xff09; 題目&#xff1a;一次可爬1或2個臺階&#xff0c;問n個臺階有多少種方式 題解&#xff1a; 1、轉換為完全背包問題&#xff0c;nums[1…

Ajax-AJAX請求的不同發送方式

&#x1f954;&#xff1a;你一定能成為想要成為的人 發送AJAX請求不同方式 發送AJAX請求不同方式1、jQuery發送AJAX請求2、axios發送AJAX請求&#xff08;重點&#xff09;3、fetch發送AJAX請求 發送AJAX請求不同方式 1、jQuery發送AJAX請求 首先需要jquery的js文件&#xf…

Vc - Qt - QToolButton

QToolButton 是 Qt 框架中的一個類&#xff0c;是 QPushButton 的子類。它可以顯示一個可單擊的按鈕&#xff0c;并且可以與彈出菜單、圖標和文本等進行關聯。 QToolButton的一些常見特性和用法包括&#xff1a; 設置文本&#xff1a;使用 setText() 函數設置按鈕上的文本。設置…

webpack 熱更新的實現原理

webpack 的熱更新?稱熱替換&#xff08;Hot Module Replacement&#xff09;&#xff0c;縮寫為HMR。這個機制可以做到不?刷新瀏覽器?將新變更的模塊替換掉舊的模塊。 原理&#xff1a; ?先要知道 server 端和 client 端都做了處理?作&#xff1a; 在 webpack 的 watch…