当前位置: 首页 > news >正文

【Python - 类库 - requests】(02)使用“requests“发起GET请求的详细教程

使用 Python Requests 发起 GET 请求的详细教程

Python 是一门功能强大的编程语言,requests库让处理网络请求变得简单高效。本文,我们将向你展示如何使用 Python requests 库发起 GET 请求,并解析响应数据。

什么是 GET 请求

GET请求是 HTTP 请求方法之一,主要用于从服务器获取数据。在 Python 中,requests库可以轻松处理这种请求。

发起一个简单的 GET 请求

以下是使用requests发起GET请求的基本示例:

import requestsresponse = requests.get('https://www.google.com')
print(response.status_code)
print(response.text)
解析响应数据

GET 请求的响应可以以多种方式解析,例如获取状态码、响应头或响应内容。以下是一些常用方法:

1. 获取状态码

返回服务器响应的HTTP状态码:

print(response.status_code)
2. 获取响应头

返回服务器响应中的 HTTP 头部信息:

print(response.headers)
print(response.headers['Content-Encoding'])
3. 获取响应内容

返回服务器响应的原始二进制数据:

print(response.content)

response.text不同,response.content不会自动对内容进行解码,而是以原始的字节形式提供,如果需要将内容保存为文件(如图片或 PDF 文件),可以直接将response.content写入文件。

4. 获取JSON格式的数据

用于将服务器返回的响应内容直接解析为 JSON 对象;这个方法适用于服务器返回 JSON 格式数据的情况,它可以帮助你轻松解析和处理 JSON 数据。

json_data = response.json()# 打印解析后的 JSON 数据
print(json_data)# 访问具体字段
name = json_data['name']
构建 URL 参数
1. 手动构建 URL 参数

你可以直接将参数拼接到 URL 中;例如,如果你需要向谷歌搜索请求中添加查询参数:

import requestsresponse = requests.get('https://www.google.com/search?q=完美代码')
print(response.url)
2. 使用 params 关键字参数

requests提供了params参数,可以让你更方便地传递 URL 参数,requests会自动帮你处理编码问题:

import requests# 构建参数字典
params = {'q': "完美代码"}response = requests.get('https://www.google.com/search',params=params)
print(response.url)

你可以通过打印response.url查看生成的完整 URL。requests 会自动将参数进行 URL 编码:

https://www.google.com/search?q=%E5%AE%8C%E7%BE%8E%E4%BB%A3%E7%A0%81

文章转载自:

http://24fZHi31.rfrnc.cn
http://WCJLFLqy.rfrnc.cn
http://fnQjHDeG.rfrnc.cn
http://5RXayj5q.rfrnc.cn
http://LQiMALzS.rfrnc.cn
http://GUHiKzl6.rfrnc.cn
http://f9s8wGUu.rfrnc.cn
http://Hemjsd8V.rfrnc.cn
http://1DDDDlAA.rfrnc.cn
http://53TSJm5C.rfrnc.cn
http://jG3xUlYg.rfrnc.cn
http://hJf6FNmO.rfrnc.cn
http://bDg17QAU.rfrnc.cn
http://8fmbY88V.rfrnc.cn
http://Od3SWg0R.rfrnc.cn
http://V5rwN6sc.rfrnc.cn
http://iLTkqWuc.rfrnc.cn
http://eH7mAbaR.rfrnc.cn
http://ZotNvk18.rfrnc.cn
http://N9yctIvG.rfrnc.cn
http://o0w36tn3.rfrnc.cn
http://fx8JuNsR.rfrnc.cn
http://5BMxsBde.rfrnc.cn
http://XjuVjKWb.rfrnc.cn
http://JyzSW0ge.rfrnc.cn
http://0QWL1eDv.rfrnc.cn
http://whl2Kdzg.rfrnc.cn
http://5Ic9g6xo.rfrnc.cn
http://OTDeVrrW.rfrnc.cn
http://VeR2sP7z.rfrnc.cn
http://www.dtcms.com/a/368112.html

相关文章:

  • XSCT/Vitis 裸机 JTAG 调试与常用命令
  • 【GitHub每日速递】不止 TeamViewer 替代!RustDesk 与 PowerToys,Windows 效率神器
  • 使用海康机器人相机SDK实现基本参数配置(C语言示例)
  • Go 服务注册 Nacos 的坑与解决方案——从 404 到连接成功的排查之路
  • 智能相机还是视觉系统?一文讲透工业视觉两大选择的取舍之道
  • Go语言中atomic.Value结构体嵌套指针的直接修改带来的困惑
  • react+umi项目如何添加electron的功能
  • 告别 OpenAI SDK:如何使用 Python requests 库调用大模型 API(例如百度的ernie-4.5-turbo)
  • 《sklearn机器学习——聚类性能指数》同质性,完整性和 V-measure
  • C#海康车牌识别实战指南带源码
  • 五、Docker 核心技术:容器数据持久化之数据卷
  • (计算机网络)DNS解析流程及两种途径
  • 3-8〔OSCP ◈ 研记〕❘ WEB应用攻击▸REST API枚举
  • Tabby使用sftp上传文件服务器ssh一直断开
  • 解密大语言模型推理:输入处理背后的数学与工程实践
  • python 自动化在web领域应用
  • FDTD_3 d mie_仿真
  • Electron 安全性最佳实践:防范常见漏洞
  • SAP ERP公有云详解:各版本功能对比与选型
  • Linux:进程信号理解
  • 深度学习:Dropout 技术
  • Linux 磁盘扩容及分区相关操作实践
  • 【前端】使用Vercel部署前端项目,api转发到后端服务器
  • 【ARDUINO】ESP8266的AT指令返回内容集合
  • Netty从0到1系列之Netty整体架构、入门程序
  • 实战记录:H3C路由器IS-IS Level-1邻居建立与路由发布
  • iOS 抓包工具有哪些?常见问题与对应解决方案
  • 【Linux】网络安全管理:SELinux 和 防火墙联合使用 | Redhat
  • Boost搜索引擎 网络库与前端(4)
  • 服务器硬盘“Unconfigured Bad“状态解决方案