当前位置:首页 > 科技  > 软件

揭秘Python中的JSON数据格式与Requests模块

来源: 责编: 时间:2024-04-15 18:11:02 286观看
导读引言:JSON数据格式和Requests模块在现代编程中扮演着不可或缺的角色。JSON作为一种轻量级的数据交换格式,广泛应用于Web服务之间的数据传输;而Requests库则是Python中最流行的HTTP客户端库,用于发起HTTP请求并与服务器交

引言:

4fn28资讯网——每日最新资讯28at.com

JSON数据格式和Requests模块在现代编程中扮演着不可或缺的角色。JSON作为一种轻量级的数据交换格式,广泛应用于Web服务之间的数据传输;而Requests库则是Python中最流行的HTTP客户端库,用于发起HTTP请求并与服务器交互。今天,我们将通过10个精选的代码示例,一同深入了解这两个重要工具的使用。4fn28资讯网——每日最新资讯28at.com

1.创建并解析JSON数据

import json# 创建JSON数据data = {    "name": "John",    "age": 30,    "city": "New York"}json_data = json.dumps(data)  # 将Python对象转换为JSON字符串print(json_data)  # 输出:{"name": "John", "age": 30, "city": "New York"}# 解析JSON数据json_string = '{"name": "Jane", "age": 28, "city": "San Francisco"}'parsed_data = json.loads(json_string)  # 将JSON字符串转换为Python字典print(parsed_data)  # 输出:{'name': 'Jane', 'age': 28, 'city': 'San Francisco'}

2.使用Requests发送GET请求4fn28资讯网——每日最新资讯28at.com

import requestsresponse = requests.get('https://api.github.com')print(response.status_code)  # 输出HTTP状态码,如:200print(response.json())  # 输出响应体内容(假设响应是JSON格式)# 保存完整的响应信息with open('github_response.json', 'w') as f:    json.dump(response.json(), f)

3.发送带参数的GET请求

params = {'q': 'Python requests', 'sort': 'stars'}response = requests.get('https://api.github.com/search/repositories', params=params)repos = response.json()['items']for repo in repos[:5]:  # 打印前5个搜索结果    print(repo['full_name'])

4.发送POST请求

payload = {'key1': 'value1', 'key2': 'value2'}headers = {'Content-Type': 'application/json'}response = requests.post('http://httpbin.org/post', jsnotallow=payload, headers=headers)print(response.json())

5.设置超时时间

requests.get('http://example.com', timeout=5)  # 设置超时时间为5秒

6.处理Cookies

# 保存cookiesresponse = requests.get('http://example.com')cookies = response.cookies# 发送带有cookies的请求requests.get('http://example.com', cookies=cookies)

7.自定义HTTP头部信息

headers = {'User-Agent': 'My-Custom-UA'}response = requests.get('http://httpbin.org/headers', headers=headers)print(response.text)

8.下载文件

url = 'https://example.com/image.jpg'response = requests.get(url)# 写入本地文件with open('image.jpg', 'wb') as f:    f.write(response.content)

9.处理身份验证

from requests.auth import HTTPBasicAuthresponse = requests.get('https://example.com/api', auth=HTTPBasicAuth('username', 'password'))

10.重试机制

from requests.adapters import HTTPAdapterfrom requests.packages.urllib3.util.retry import Retry# 创建一个重试策略retry_strategy = Retry(    total=3,    status_forcelist=[429, 500, 502, 503, 504],    backoff_factor=1,)# 添加重试策略到适配器adapter = HTTPAdapter(max_retries=retry_strategy)# 将适配器添加到会话session = requests.Session()session.mount('http://', adapter)session.mount('https://', adapter)response = session.get('https://example.com')

结语:

通过上述10个Python中JSON数据格式与Requests模块的实战示例,相信您对它们的使用有了更为深入的理解。熟练掌握这两种工具将极大提升您在Web开发、API调用等方面的生产力。请持续关注我们的公众号,获取更多Python和其他编程主题的精彩内容!4fn28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-83616-0.html揭秘Python中的JSON数据格式与Requests模块

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: C# 中的 HTTP 请求

下一篇: C++中的显式虚函数重载:override与final详解

标签:
  • 热门焦点
  • 6月安卓手机性能榜:vivo/iQOO霸占旗舰排行榜前三

    2023年上半年已经正式过去了,我们也迎来了安兔兔V10版本,在新的骁龙8Gen3和天玑9300发布之前,性能榜的榜单大体会以骁龙8Gen2和天玑9200+为主,至于那颗3.36GHz的骁龙8Gen2领先
  • 5月iOS设备性能榜:M1 M2依旧是榜单前五

    和上个月一样,没有新品发布的iOS设备性能榜的上榜设备并没有什么更替,仅仅只有跑分变化而产生的排名变动,刚刚开始的苹果WWDC2023,推出的产品也依旧是新款Mac Pro、新款Mac Stu
  • 只需五步,使用start.spring.io快速入门Spring编程

    步骤1打开https://start.spring.io/,按照屏幕截图中的内容创建项目,添加 Spring Web 依赖项,并单击“生成”按钮下载 .zip 文件,为下一步做准备。请在进入步骤2之前进行解压。图
  • 一文搞定Java NIO,以及各种奇葩流

    大家好,我是哪吒。很多朋友问我,如何才能学好IO流,对各种流的概念,云里雾里的,不求甚解。用到的时候,现百度,功能虽然实现了,但是为什么用这个?不知道。更别说效率问题了~下次再遇到,
  • 为什么你不应该使用Div作为可点击元素

    按钮是为任何网络应用程序提供交互性的最常见方式。但我们经常倾向于使用其他HTML元素,如 div span 等作为 clickable 元素。但通过这样做,我们错过了许多内置浏览器的功能。
  • 新电商三兄弟,“抖快红”成团!

    来源:价值研究所作 者:Hernanderz 随着内容电商的概念兴起,抖音、快手、小红书组成的“新电商三兄弟”成为业内一股不可忽视的势力,给阿里、京东、拼多多带去了巨大压
  • 消费结构调整丨巨头低价博弈,拼多多还卷得动吗?

    来源:征探财经作者:陈香羽随着流量红利的退潮,电商的存量博弈越来越明显。曾经主攻中高端与品质的淘宝天猫、京东重拾“低价”口号。而过去与他们错位竞争的拼多多,靠
  • 年轻人的“职场羞耻感”,无处不在

    作者:冯晓亭 陶 淘 李 欣 张 琳 马舒叶来源:燃次元“人在职场,应该选择什么样的着装?”近日,在网络上,一个与着装相关的帖子引发关注,在该帖子里,一位在高级写字楼亚洲金
  • 2299元起!iQOO Pad明晚首销:性能最强天玑平板

    5月23日,iQOO如期举行了新品发布会,除了首发安卓最强旗舰处理器的iQOO Neo8系列新机外,还在发布会上推出了旗下首款平板电脑——iQOO Pad,其最大的卖点
Top