Python 网络爬虫 —— 提交信息到网页_python添加提交信息
一、模块核心逻辑
“提交信息到网页” 是网络交互关键环节,借助 requests 库的 post() 函数,能模拟浏览器向网页发数据(如表单、文件 ),实现信息上传,让我们能与网页背后的服务器 “沟通”,像改密码、传文件等操作,都可通过它完成 。
二、浏览器提交请求流程(以改密码为例 )
- 操作触发:登录账户进改密码页面,填 “当前密码”“新密码” 等表单 。
 - 抓包分析:网页空白处右键 → 检查 → Network 窗口,输密码点 “修改密码”,Network 会捕获交互信息,能看到请求方法是 
POST,还能找到提交的密码等数据 。 - 数据传递:浏览器把表单里的密码等信息,通过 
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 请求,提交数据到指定 urlr = requests.post(\'https://account.ryjiaoyu.com/change-password\', data=data) # 打印响应内容print(r.text) 
这里 data 存改密码的表单数据,post() 带着数据发给服务器,虽然实际改密码还得先登录,但演示了 “传数据” 的核心流程 。
四、上传文件的方法(files 参数 )
想把文件(如图片、文档 )传到网页,用 files 参数,步骤:
- 打开文件:用 
open()函数以二进制模式(rb)打开文件,得到文件对象 。 - 构造参数:建字典,键是服务器接收文件的字段名(如 
file),值是文件对象 。 - 发起请求:
post()里传files参数,把文件数据发出去 。 
示例代码
import requests# 打开文件,\'rb\' 是二进制读模式fp = {\'file\':open(\'bitbug.ico\', \'rb\')} # 发 POST 请求,上传文件到指定 urlr = requests.post(\'可上传图片的网址\', files=fp) # 打印响应内容print(r.text) 
代码里,open() 拿到文件对象,files 带着它发请求,服务器接收后,就能把文件存到指定位置(实际要填正确的上传网址 )。
总之,“提交信息到网页” 靠 post() 函数实现,不管是传表单改密码,还是传文件,都能通过配置参数完成,理解浏览器抓包和函数参数,就能灵活模拟各种提交操作啦 ~


