Python 網絡爬蟲 —— 提交信息到網頁

一、模塊核心邏輯

“提交信息到網頁” 是網絡交互關鍵環節,借助?requests?庫的?post()?函數,能模擬瀏覽器向網頁發數據(如表單、文件 ),實現信息上傳,讓我們能與網頁背后的服務器 “溝通”,像改密碼、傳文件等操作,都可通過它完成 。

二、瀏覽器提交請求流程(以改密碼為例 )

  1. 操作觸發:登錄賬戶進改密碼頁面,填 “當前密碼”“新密碼” 等表單 。
  2. 抓包分析:網頁空白處右鍵 → 檢查 → Network 窗口,輸密碼點 “修改密碼”,Network 會捕獲交互信息,能看到請求方法是?POST,還能找到提交的密碼等數據 。
  3. 數據傳遞:瀏覽器把表單里的密碼等信息,通過?POST?請求發給服務器,服務器驗證、處理后返回結果 。

三、post()?函數詳解

(一)基本形式?

requests.post(url, data=None, json=None, **kwargs)

?

二)參數說明

  • url:必填,要提交信息的網頁地址(如改密碼的接口地址 ),告訴?post()?該把數據發哪 。
  • data:選填,要發送的數據,可是字典、元組、列表等(常用來傳表單數據,像?{'old_pwd':'123','new_pwd':'456'}?)。
  • json:選填,專門傳 JSON 格式數據(當服務器要求接收 JSON 時用 ),傳參后?requests?會自動設請求頭?Content-Type?為?application/json?。
  • **kwargs:選填,額外配置(如設置請求頭?headers、超時時間?timeout?等 ),讓請求更靈活 。

(三)返回值

執行?post()?后,返回?Response?對象,和?get()?類似,可通過?r.text?看響應內容、r.status_code?查狀態碼等 。

(四)示例理解

import requests
# 表單數據,存字典里
data = {'OldPassword':'123456python','NewPassword':'123python','ConfirmPassword':'123python'}  
# 發 POST 請求,提交數據到指定 url
r = requests.post('https://account.ryjiaoyu.com/change-password', data=data)  
# 打印響應內容
print(r.text)  

這里?data?存改密碼的表單數據,post()?帶著數據發給服務器,雖然實際改密碼還得先登錄,但演示了 “傳數據” 的核心流程 。

四、上傳文件的方法(files?參數 )

想把文件(如圖片、文檔 )傳到網頁,用?files?參數,步驟:

  1. 打開文件:用?open()?函數以二進制模式(rb?)打開文件,得到文件對象 。
  2. 構造參數:建字典,鍵是服務器接收文件的字段名(如?file?),值是文件對象 。
  3. 發起請求post()?里傳?files?參數,把文件數據發出去 。

示例代碼

import requests
# 打開文件,'rb' 是二進制讀模式
fp = {'file':open('bitbug.ico', 'rb')}  
# 發 POST 請求,上傳文件到指定 url
r = requests.post('可上傳圖片的網址', files=fp)  
# 打印響應內容
print(r.text)  

代碼里,open()?拿到文件對象,files?帶著它發請求,服務器接收后,就能把文件存到指定位置(實際要填正確的上傳網址 )。

總之,“提交信息到網頁” 靠?post()?函數實現,不管是傳表單改密碼,還是傳文件,都能通過配置參數完成,理解瀏覽器抓包和函數參數,就能靈活模擬各種提交操作啦 ~

?

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

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

相關文章

SpringMVC4

一、SpringMVC 注解與項目開發流程1.1注解的生命周期- Target、Retention 等元注解:- Target(ElementType.TYPE) :說明這個注解只能用在類、接口上。- Retention(RetentionPolicy.RUNTIME) :說明注解在運行時保留,能通過反射獲取…

數據結構排序算法總結(C語言實現)

以下是常見排序算法的總結及C語言實現,包含時間復雜度、空間復雜度和穩定性分析:1. 冒泡排序 (Bubble Sort)思想:重復比較相鄰元素,將較大元素向后移動。 時間復雜度:O(n)(最好O(n),最壞O(n)) 空…

嵌入式學習-PyTorch(2)-day19

很久沒有學了,期間打點滴打了一個多星期,太累了,再加上學了一下Python語法基礎,再終于開始重新學習pytorchtensorboard 的使用import torch from torch.utils.tensorboard import SummaryWriter writer SummaryWriter("logs…

Prompt Engineering 快速入門+實戰案例

資料來源:火山引擎-開發者社區 引言 什么是 prompt A prompt is an input to a Generative AI model, that is used to guide its output. Prompt engineering is the process of writing effective instructions for a model, such that it consistently generat…

「源力覺醒 創作者計劃」_文心開源模型(ERNIE-4.5-VL-28B-A3B-PT)使用心得

文章目錄背景操作流程開源模型選擇算力服務器平臺開通部署一個算力服務器登錄GPU算力服務器進行模型的部署FastDeploy 快速部署服務安裝paddlepaddle-gpu1. 降級沖突的庫版本安裝fastdeploy直接部署模型(此處大約花費15分鐘時間)放行服務端口供公網訪問最…

P10719 [GESP202406 五級] 黑白格

題目傳送門 前言:不是這樣例有點過分了哈: 這是我沒考慮到無解的情況的得分: 這是我考慮了的得分: 總而言之,就是一個Subtask 你沒考慮無解的情況(除了Subtask #0),就會WA一大片,然后這個Subt…

AWS RDS PostgreSQL可觀測性最佳實踐

AWS RDS PostgreSQL 介紹AWS RDS PostgreSQL 是亞馬遜云服務(AWS)提供的托管型 PostgreSQL 數據庫服務。托管服務:AWS 管理數據庫的底層基礎設施,包括硬件、操作系統、數據庫引擎等,用戶無需自行維護。高性能&#xff…

C++——set,map的模擬實現

文章目錄前言紅黑樹的改變set的模擬實現基本框架迭代器插入源碼map模擬實現基礎框架迭代器插入賦值重載源碼測試代碼前言 set,map底層使用紅黑樹這種平衡二叉搜索樹來組織元素 ,這使得set, map能夠提供對數時間復雜度的查找、插入和刪除操作。 下面都是基…

LabVIEW液壓機智能監控

?基于LabVIEW平臺,結合西門子、研華等硬件,構建液壓機實時監控系統。通過 OPC 通信技術實現上位機與 PLC 的數據交互,解決傳統監控系統數據采集滯后、存儲有限、參數調控不便等問題,可精準采集沖壓過程中的位置、速度、壓力等參數…

15. 什么是 xss 攻擊?怎么防護

總結 跨站腳本攻擊&#xff0c;注入惡意腳本敏感字符轉義&#xff1a;“<”,“/”前端可以抓包篡改主要后臺處理&#xff0c;轉義什么是 XSS 攻擊&#xff1f;怎么防護 概述 XSS&#xff08;Cross-Site Scripting&#xff0c;跨站腳本攻擊&#xff09;是一種常見的 Web 安全…

更換docker工作目錄

使用環境 由于默認系統盤比較小docker鏡像很容易就占滿&#xff0c;需要掛載新的磁盤修改docker的默認工作目錄 環境&#xff1a;centos7 docker默認工作目錄: /var/lib/docker/ 新的工作目錄&#xff1a;/home/docker-data【自己手動創建&#xff0c;一般掛在新加的磁盤下面】…

算法學習筆記:26.二叉搜索樹(生日限定版)——從原理到實戰,涵蓋 LeetCode 與考研 408 例題

二叉搜索樹&#xff08;Binary Search Tree&#xff0c;簡稱 BST&#xff09;是一種特殊的二叉樹&#xff0c;因其高效的查找、插入和刪除操作&#xff0c;成為計算機科學中最重要的數據結構之一。BST 的核心特性是 “左小右大”&#xff0c;這一特性使其在數據檢索、排序和索引…

共生型企業:駕馭AI自動化(事+AI)與人類增強(人+AI)的雙重前沿

目錄 引言&#xff1a;人工智能的雙重前沿 第一部分&#xff1a;自動化范式&#xff08;事AI&#xff09;——重新定義卓越運營 第一章&#xff1a;智能自動化的機制 第二章&#xff1a;自動化驅動的行業轉型 第三章&#xff1a;自動化的經濟演算 第二部分&#xff1a;協…

TypeScript的export用法

在 TypeScript 中&#xff0c;export 用于將模塊中的變量、函數、類、類型等暴露給外部使用。export 語法允許將模塊化的代碼分割并在其他文件中導入。 1. 命名導出&#xff08;Named Export&#xff09; 命名導出是 TypeScript 中最常見的一種導出方式&#xff0c;它允許你導出…

數據結構-2(鏈表)

一、思維導圖二、鏈表的反轉def reverse(self):"""思路&#xff1a;1、設置previous_node、current、next_node三個變量,目標是將current和previous_node逐步向后循環并逐步進行反轉,知道所有元素都被反轉2、但唯一的問題是&#xff1a;一旦current.next反轉為向…

ros2 標定相機

一個終端執行&#xff1a; ros2 run image_tools cam2image --ros-args -p width:640 -p height:480 -p frequency:30.0 -p device_id:-1 -r /image:/camera/image_raw另一個終端執行&#xff1a;8x6 是格子角點數量&#xff0c;0.028是格子尺寸 ros2 run camera_calibration …

IsaacLab學習記錄(二)

二、導入并訓練自己的機器人1、urdf等其他格式轉usd&#xff08;工具在./scrips/tools/&#xff09;???維度????URDF (Unified Robot Description Format)????USD (Universal Scene Description)????定位??機器人模型描述標準&#xff08;僅描述單機器人&…

基于Rust Softplus 函數實踐方法

Softplus 函數 Softplus 函數是神經網絡中常用的激活函數之一,定義為: ? Softplus函數導數 ? 是 sigmoid 函數。Softplus 處處可導,并且導數恰好是 sigmoid。 它是 ReLU 函數的平滑近似,具有連續可導的特性,適合需要梯度優化的場景。 數學特性 平滑性:導數為 Sig…

Ubuntu服務器安裝Miniconda

下載 Miniconda 安裝腳本&#xff08;如果能聯網&#xff09;wget https://repo.anaconda.com/miniconda/Miniconda3-py39_24.1.2-0-Linux-x86_64.sh -O Miniconda3.sh安裝 Miniconda 到 /opt/condabash Miniconda3.sh -b -p /opt/conda激活 conda/opt/conda/bin/conda init ba…

Java數組補充v2

一、數組基本概念1. 什么是數組數組是Java中用來存儲同類型數據的固定大小的連續內存空間的數據結構。2. 數組特點固定長度&#xff1a;一旦創建&#xff0c;長度不可改變相同類型&#xff1a;所有元素必須是同一數據類型索引訪問&#xff1a;通過下標&#xff08;從0開始&…