Python爬虫数据分类与JSON解析实战指南

清欢
清欢
发布时间:2026-10-14 | 3人浏览过
原创

本文详解Python爬虫中数据的三种分类:结构化、半结构化及非结构化数据,重点解析JSON格式的特点与语法规则。通过对比JS对象与Python字典/列表的对应关系,深入讲解json模块中dumps、loads、dump、load函数的具体用法,帮助开发者高效处理网络数据交换。

数据的结构化分类

在Web抓取场景中,我们的核心目标是从网站或应用中提取有价值的信息。这些内容通常被划分为三类:结构化数据、半结构化数据以及非结构化数据。 1. 结构化数据: 这类数据具有统一的表现形式,能够直接映射到关系型数据库中进行存储和管理。其典型特征是以二维表的形式呈现,数据以行为基本单位,每一行代表一个实体的完整信息,且所有行的属性结构保持一致。 2. 半结构化数据: 这是结构化数据的一种变体,它不遵循传统关系型数据库或固定数据表的关联模型,但包含了用于区分语义元素以及对记录和字段进行分层的相关标记,因此也被称为自描述数据。常见的半结构化数据格式包括HTML、XML和JSON等,它们通常以树状或图结构进行存储。 在半结构化数据中,节点属性的顺序并不重要,且不同数据的属性数量可以灵活变化。这种格式能够自由表达丰富的有用信息并包含自描述内容,因此具备极佳的扩展性,非常适合在互联网环境中进行大规模传播。 3. 非结构化数据: 指没有固定结构格式的数据。各类文档、图片、视频或音频文件均属于此类。对于这类数据,通常采用整体存储的方式,并以二进制形式保存。

json数据

JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式。它基于ECMAScript(由W3C制定的JS规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。其简洁清晰的层次结构使其成为理想的数据交换语言。 主要特点包括:易于阅读、易于机器生成、能有效提升网络传输速度。 JSON语法规则指出,在JS语言中,一切皆对象,因此任何支持的数据类型都可以通过JSON表示,例如字符串、数字、对象和数组。 JS中的对象和数组是两种特殊且常用的类型: 1. 对象表示为键值对{name:'zhangsan',age:'7'} 2. 数组数据由逗号分隔[1,2,3,4,5] 3. 花括号用于保存对象 4. 方括号用于保存数组。 在概念对应上,JS的对象相当于Python中的字典(dict),而JS的数组则相当于Python中的列表(list)。 由于JSON用于存储JS的对象或数组,因此在Python中,我们可以将JSON数据转换为list或dict类型以便处理。

解析json的包json:

json.dumps(python的list或者dict)---->(返回值)---->json字符串。 json.loads(json字符串)------>(返回值)----->python的list或者dict.

json.dump(list/dict,fp)—>list,或者字典保存到json文件中。 json.load(fp)—>list/dict:从json文件中读出json数据。

JSON键值对是保存JS对象的一种方式,其写法与JS对象大同小异。例如: {“firstName”:“Json”,“Class”:“aid1111”}等价于下面这条JS语句:{firstName:“Json”,Class:“aid1111”}。 许多人容易混淆JSON和JS对象的关系,甚至分不清谁是谁。可以这样理解:【JSON是JS对象的字符串表达式,它使用文本形式表示一个JS对象的信息,本质上是一个字符串。】 例如var obj = {a:“hello”,b:“World”}这是一个JS对象。注意,键名也可以用引号包裹,如var json = ' {“a”:“hello”,“b”:“World”}'这是一个JSON字符串,本质上是一个字符串。 JSON作为数据包格式传输时具有更高的效率,这是因为JSON不像XML那样具有严格的闭合标签,这使得有效数据量与总数据包的比率大幅提升,从而在同等数据流量下大大降低了网络传输的压力。

以上就是Python爬虫数据的分类及JSON数据使用小结的详细内容,更多关于Python爬虫数据的分类及JSON数据使用的资料请关注本站其它相关文章!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表