Python 網絡爬蟲 —— 代理服務器

一、會話(Session)

(一)核心邏輯

HTTP 本身無記憶,每次請求獨立。會話(Session)?就是為解決這問題,讓客戶端(瀏覽器)和服務器 “記住” 交互狀態(比如登錄態 ),常用?Cookie?實現:服務器發?Cookie?給客戶端存著,下次請求帶著,服務器就知道 “是同一用戶” 。

(二)創建會話(requests 實現 )

用?requests?庫的?Session?類,自動維持會話、管理?Cookie,代碼形式:

import requests
# 創建會話對象,后續用 s 發請求,自動帶 Cookie
s = requests.Session()  

比如登錄操作,先用?s.post()?提交賬號密碼,登錄后的?Cookie?會存在?s?里,再用?s.get()?訪問需要登錄的頁面,就自動帶著登錄態,不用手動傳?Cookie?。

二、代理服務器

(一)是什么 & 作用

代理服務器是客戶端和目標服務器中間的 “中轉站”?。客戶端發請求給代理,代理再轉發給目標服務器,拿到響應后再回傳給客戶端。

作用超關鍵:

  • 防封禁:頻繁爬取時,目標服務器會封客戶端 IP ,用代理換 IP ,讓服務器以為是不同用戶請求。
  • 突破限制:有些資源限制訪問來源,代理可偽裝成允許的 IP 去請求。

(二)工作流程(對應圖文 )

  1. 客戶端(你寫的爬蟲)→ 發 URL 請求給代理服務器?。
  2. 代理服務器 → 轉發請求給目標服務器?。
  3. 目標服務器 → 把響應給代理服務器?。
  4. 代理服務器 → 再把響應回傳給客戶端?。
    相當于代理 “替你” 和目標服務器溝通,隱藏真實 IP 。

(三)使用方法(requests 代碼 )

在?get()/post()?里加?proxies?參數,傳代理的 IP 等信息,代碼形式:

import requests
# 構造代理字典,http/https 按需選,值是代理地址(IP:端口 )
proxy = {'http': '代理服務器地址:端口'}  
# 請求時傳 proxies,走代理訪問目標網址
r = requests.get('https://www.xxx.com/', proxies=proxy)  
print(r.text)

比如代理地址是?115.29.199.168:1188?,就寫成?proxy = {'http': '115.29.199.168:1188'}?,請求時帶著它,數據就會走代理服務器轉發 。

注意:免費代理有時效性,可能用著用著就失效,實際項目常用付費、穩定的代理~

這樣,會話維持(靠?Session?自動管?Cookie?)和代理服務器(當 “中轉站” 防封禁 )的核心就講清楚啦,代碼怎么寫、作用是啥,都能快速 get !

?

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

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

相關文章

Vue在線預覽Excel和Docx格式文件

前提:本次示例基于Vue2.x,所用插件為Vue-Office。 一、Vue-Office 插件簡介 Vue-Office 是一個一站式解決方案,支持多種 Office 文件格式的在線預覽,包括: Word(.docx)Excel(.xlsx、…

提升(Boosting)及 Python 示例

咱們結合這張圖,把 “提升” 想象成 “做錯題本 請老師補課” 的過程:第一波數據(最上面的圓圈):“第一次作業”假設你第一次做 100 道數學題(圖中圓圈里的綠點白點代表不同的題),做…

【生產實踐】Linux中NAS掛載丟失后提示“過舊的文件句柄”錯誤解決

太長不看版: 問題:nas掛載在系統里掉了,使用df或ls訪問目錄提示過舊的文件句柄解決過程: 和機房聯系,發現NAS服務器重啟了重新執行mount發現掛不上先umount掉當前掛載,再重新執行mount命令問題解決 umount …

JUnit4

JUnit4 介紹JUnit 是 Java 編程語言的單元測試框架,用于編寫和運行可重復的自動化測試。JUnit 特點:JUnit 是一個開放的資源框架,用于編寫和運行測試。提供注解來識別測試方法。提供斷言來測試預期結果。JUnit 測試允許你編寫代碼更快&#x…

Python-TCP編程-UDP編程-SocketServer-IO各種概念及多路復用-asyncio-學習筆記

序 欠4前年的一份筆記 ,獻給今后的自己。 網絡編程 Socket介紹 Socket套接字 Python中提供socket.py標準庫,非常底層的接口庫。 Socket是一種通用的網絡編程接口,和網絡層次沒有一一對應的關系。 協議族 AF表示Address Family,用于…

Mybatis-開發一個類似mybatisplus的mybatis擴展,該怎么入手?

開發一個類似mybatisplus的mybatis擴展,該怎么入手? 要開發一個類似于 MyBatis-Plus 的 MyBatis 擴展框架,你需要從以下幾個核心方面入手,逐步構建出一個功能完整、易用性強、兼容性好的增強型 MyBatis 框架。🧱 一、整…

深入了解linux系統—— 信號的捕捉

前言 信號從產生到處理,可以分為信號產生、信號保存、信號捕捉三個階段;了解了信號產生和保存,現在來深入了解信號捕捉。 信號捕捉 對于1-31號普通信號,進程可以立即處理,也可以不立即處理而是在合適的時候處理&#x…

twikitFKS: 基于 twikit 2.3.1 的改進版本

twikitFKS: 基于 twikit 2.3.1 的改進版本 項目概述 關于 twikit twikit 是一個優秀的 Twitter API 爬蟲庫,它的核心優勢在于無需 API Key即可訪問 Twitter 功能。通過網頁爬蟲技術,twikit 實現了: 發布推文和媒體內容搜索推文和用戶獲取…

C Primer Plus 第6版 編程練習——第9章(下)

7.編寫一個函數,從標準輸入中讀取字符,直到遇到文件結尾。程序要報告每個字符是否是字母。如果是,還要報告該字母在字母表中的數值位置。例如,c和C在字母表中的位置都是3。合并一個函數,以一個字符作為參數&#xff0c…

如何用文思助手改好一篇爛材料

在日常工作中,我們常常會遇到這樣的問題:因為工作要使用到之前寫的文章再看發現內容雜亂無章、或者收到的一些返稿內容質量差,不修改無法使用。但其實它們可能只是缺少了系統性的梳理與打磨。今天我們就來聊一聊,如何對一些不滿意…

VSCODE常規設置

摘要:用于新下載的vscode設置一些個人化的操作在 "Files: Auto Save" 下拉菜單中,選擇你想要的自動保存模式。常見的選項包括:"off":禁用自動保存。 "afterDelay":在你停止編輯一段時間…

2025秋招突圍戰:AI智能監考如何重構遠程筆試公平防線?

2025秋招季即將來臨,企業校招規模預計突破百萬量級,遠程筆試成為主流篩選方式。然而,傳統監考模式暴露出作弊行為難追溯、人力成本過高、數據維度單一等痛點,讓HR陷入“效率與公平”的兩難困境。牛客AI智能監考系統,通…

Python 基礎語法與數據類型(十三) - 實例方法、類方法、靜態方法

文章目錄1. 實例方法 (Instance Methods)1.1 特點與語法1.2 實例方法示例2. 類方法 (Class Methods)2.1 特點與語法2.2 類方法示例3. 靜態方法 (Static Methods)3.1 特點與語法3.2 靜態方法示例4. 三種方法的對比總結總結練習題練習題答案創作不易,請各位看官順手點…

Wireshark的安裝和基本使用

文章目錄一、Wireshark介紹二、Wireshark安裝三、Wireshark講解1.界面介紹(1)分組列表(2)分組詳情(3)分組字節流一、Wireshark介紹 Wireshark 是一款開源的網絡協議分析工具,能夠捕獲、過濾和分…

[yotroy.cool] Git 歷史遷移筆記:將 Git 項目嵌入另一個倉庫子目錄中(保留提交記錄)

個人博客https://www.yotroy.cool/,感謝關注~ 圖片資源可能顯示不全,請前往博客查看哦! 說來慚愧,這篇是AI幫助我解決實際問題后,又生成的一篇博客,效率特別高。 在開發中,我們常會…

91套商業策劃創業融資計劃書PPT模版

創業融資計劃書PPT模版,商業項目技術書PPT模版,商業創業計劃書,商業融資企業宣傳PPT模版,活動策劃方案書PPT模版,IOS風格商業計劃書PPT模版 91套商業策劃創業融資計劃書PPT模版:https://pan.quark.cn/s/739…

探秘阿里云通義九子:解鎖AI無限可能

通義九子初印象在當今人工智能飛速發展的時代,阿里云通義九子宛如一顆璀璨的明星,閃耀在 AI 的浩瀚天空中。作為阿里云推出的一系列強大的人工智能模型,通義九子在自然語言處理、圖像生成、智能客服等多個領域展現出了卓越的能力,…

Python網絡爬蟲之requests庫

目錄 一.網絡爬蟲的介紹 1.網絡爬蟲庫 2.robot.txt規則 二.requests庫 1.requests庫的安裝 2.get()函數 3.Response對象 Response的屬性 設置編碼 返回網頁內容 text() content() 三.提交信息到網頁 post()函數 四.會話與代理服務器 一.網絡爬蟲的介紹 1.網絡爬蟲…

區塊鏈技術詳解:從原理到應用

引言 區塊鏈作為一項顛覆性技術,已從加密貨幣的基石演變為重塑多個行業的創新引擎。本文旨在深入解析其核心原理、關鍵特性、技術架構、主流應用及未來挑戰。一、 區塊鏈核心概念:超越加密貨幣的分布式賬本 本質定義: 區塊鏈是一個去中心化、…

用Finalshell連接服務器后出現文件目錄不顯示,且刷新報錯空指針問題記錄

修改SSH配置?編輯sshd_config?使用管理員權限編輯/etc/ssh/sshd_config文件,找到Subsystem相關配置。原配置為Subsystem sftp /usr/libexec/openssh/sftp-server使用“i”編輯文件將修改為Subsystem sftp internal-sftp修改完成后使用Esc命令,退出編輯…