Python3爬虫之数据存储

Python爬虫之数据存储

基本介绍

经过爬取,解析,接下来我们要将我们想要的数据存储下来,我们有以下几种选择方案

  • json
  • csv
  • excel
  • mysql
  • mongoDB

由于我讲的是基本爬虫,故使用最简单常用的json字符串来进行存储

JSON基本介绍

理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成 , 并有效地提升网络传输效率 。本质就是字符串

JSON在python中支持的数据类型

  1. 对象(字典)。使用{}。
  2. 数组(列表)。使用【】。
  3. 整形、浮点型、布尔类型还有null类型。
  4. 字符串类型(字符串必须要用双引号,不能用单引号)。

字典(对象)和列表(数组)转为JSON格式

​ 使用json.dumps方法

import json

books = [
    {
        'title': '钢铁是怎样练成的',
        'price': 9.8
    },
    {
        'title': '红楼梦',
        'price': 9.9
    }
]

json_str = json.dumps(books,ensure_ascii=False)
print(json_str)

因为jsondump的时候,只能存放ascii的字符,因此会将中文进行转义,这时候我们可以使用ensure_ascii=False关闭这个特性。
Python中。只有基本数据类型才能转换成JSON格式的字符串。也即:intfloatstrlistdicttuple

将JSON字符串dump到文件中

json模块中除了dumps函数,还有一个dump函数,这个函数可以传入一个文件指针,直接将字符串dump到文件中。示例代码如下:

import json
books = [
    {
        'title': '钢铁是怎样练成的',
        'price': 9.8
    },
    {
        'title': '红楼梦',
        'price': 9.9
    }
]
with open('a.json','w') as fp:
    json.dump(books,fp)
# a.json代表文件名 w代表以写的方式打开

json字符串转化成Python对象

使用json.load方法

import json
json_str = '[{"title": "钢铁是怎样练成的", "price": 9.8}, {"title": "红楼梦", "price": 9.9}]'
books = json.loads(json_str,encoding='utf-8')
print(type(books))
print(books)

第一个打印输出结果为list列表类型

直接从文件中读取json并转化为python对象:

import json
with open('a.json','r',encoding='utf-8') as fp:
    json_str = json.load(fp)
    print(json_str)

Python系列CSDN博客地址:

如需更系统学习,下面是博主关于Python爬虫的系列学习博客

  1. Python3爬虫入门(快速简易)
  2. Python3爬虫系列之urllib库
  3. Python3爬虫之request库
  4. Python3爬虫之XPath语法和lxml模块
  5. Python3爬虫之数据存储
  6. Python3爬虫之Scrapy框架入门
  7. Python3爬虫入门案例Scrapy爬取传智讲师个人信息
  8. Python3爬虫之Scrapy框架模拟登陆人人网
  9. Python3爬虫之Scrapy框架的下载器中间件
  10. Python3反反爬虫之Scrapy设置随机请求头

你可能感兴趣的:(Python3,Python3爬虫,数据存储Json)