Python爬虫基础讲解(十):数据持久化——json.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
Python 爬虫在抓取数据后,通常需要对数据进行持久化存储,以便后续处理或分析。在Python中,`json`模块提供了一个简单且高效的方法,将Python对象编码为JSON格式,以及将JSON字符串解码回Python对象。本文将深入讲解Python中的JSON数据持久化。 我们来看一下如何编码和解码Python的默认类型。`json.dumps()`函数用于将Python对象(如字典、列表等)编码为JSON字符串。以下是一个简单的例子: ```python import json data = { 'name': 'ACME', 'shares': 100, 'price': 542.23 } json_str = json.dumps(data) print(json_str) ``` 在这个例子中,`json.dumps()`将Python字典`data`转换成JSON字符串`json_str`。注意,转换后的字符串类型是`str`,不同于原来的字典。 在处理包含中文字符的字符串时,需要注意编码问题。默认情况下,`json.dumps()`会将非ASCII字符转义为Unicode编码,例如`'青灯'`会被转义为`\u9752\u706f`。如果希望保留原始的中文字符,可以设置`ensure_ascii=False`: ```python json_str = json.dumps(data, ensure_ascii=False) ``` 接着,我们将JSON字符串写入文件。这里使用`with open()`语句以写入模式('w')打开文件,并指定UTF-8编码: ```python with open('data.json', mode='w', encoding='utf-8') as f: f.write(json_str) ``` 为了从文件中读取JSON数据,我们需要使用`json.load()`函数将JSON字符串解码回Python对象: ```python with open('data.json', 'r', encoding='utf-8') as f: data = json.load(f) print(data['name']) ``` 这样,我们就成功地将JSON文件内容反序列化为Python字典。 在输出JSON时,有时希望让结果更易读。`json.dumps()`函数接受一些可选参数,如`indent`,可以设置缩进的空格数,使输出更整洁: ```python data = {'a': 'A', 'b': (2, 4), 'c': 3.0} print('DATA:', repr(data)) unsorted = json.dumps(data) print('JSON:', json.dumps(data, indent=4)) ``` 这里,`indent=4`使得输出的JSON字符串有四个空格的缩进,增加了可读性。 JSON数据类型与Python数据类型之间存在直接对应关系,如JSON对象对应Python字典,JSON数组对应Python列表,JSON数字对应Python整数和浮点数,JSON字符串对应Python字符串。这种对应关系使得在Python和JSON之间进行转换变得非常便捷。 Python的`json`模块提供了方便的工具,用于在Python对象和JSON字符串之间进行转换。通过`dumps()`和`load()`函数,我们可以轻松地实现数据的持久化存储和读取,特别是在处理Web服务和REST API时,JSON因其语言无关性和简洁性而被广泛采用。理解和熟练使用这些功能对于Python爬虫开发者来说至关重要。
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pptx](https://img-home.csdnimg.cn/images/20241231044947.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/28b1b1aff78e45628291a3dbdb3c233c_weixin_44488560.jpg!1)
- 粉丝: 0
- 资源: 2万+
![benefits](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-1.c8e153b4.png)
![privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-2.ec46750a.png)
![article](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-3.fc5e5fb6.png)
![course-privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-4.320a6894.png)
![rights](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-icon.fe0226a8.png)
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- jdk1.8 Windows版本
- 智能网联实验小车的实验指导文档
- dwg cad 字体 shx 字体
- 智能网联实验小车的实验指导文档
- 智能网联实验小车的实验指导文档
- 智能网联实验小车的实验指导文档
- 智能网联实验小车的实验指导文档
- 快手无人直播变现项目玩法教程,直播间人气轻松破千上热门
- 智能网联实验小车的实验指导文档
- 智能网联实验小车的实验指导文档
- 智能网联实验小车的实验指导文档
- 智能网联实验小车的实验指导文档
- 智能网联实验小车的实验指导文档
- Rust 编程语言的入门教程,适合有一定编程基础的学习者快速上手 教程分为基础语法、核心概念和实用工具三个部分
- 美妆产品进销存管理系统的设计与开发ssm.zip
- 同城绘本馆的设计与开发ssm.zip
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)