Python爬虫学习笔记(七)

数据存储:

Json:

XML:

json是轻量级的数据交互格式

HTML:

给用户看的,展示数据的

数据交互格式:

简单理解就是一个字点或者list

书写格式:

  1. 不能写注释
  2. key:Value(必须都是双引号)
  3. 末尾不能写逗号
  4. 整个文件有且仅有一个{ }或[ ]

模块操作:

字符串:

loads():

代码:

# coding=gbk
import json

# 1.字符串和dic list转换
# 字符串(json) --> dict list
data = '[{"name":"张三", "age":20}, {"name":"李四", "age":18}]'
list_data = json.loads(data)

print(data)
print(list_data)
print(type(list_data))

返回:

[{"name":"张三", "age":20}, {"name":"李四", "age":18}]
[{'name': '张三', 'age': 20}, {'name': '李四', 'age': 18}]
<class 'list'>

dumps:

代码:

# coding=gbk
import json

# 1.字符串和dic list转换
# dict list --> 字符串
list2 = [{"name": "张三", "age": 20}, {"name": "李四", "age": 18}]
data_json = json.dumps(list2)
print(data_json)
print(type(data_json))

返回:

[{"name": "u5f20u4e09", "age": 20}, {"name": "u674eu56db", "age": 18}]
<class 'str'>

文件对象:

load():

代码:

# coding=gbk
import json

# 2.文件对象和dict list转换

# 读取文件(json) --> list dict
fp = open('02new.json', 'r')
result = json.load(fp)
print(result)

返回:

[{'name': '张三', 'age': 20}, {'name': '李四', 'age': 18}]

dump():

代码:

# coding=gbk
import json

# 2.文件对象和dict list转换
# dict list 写入文件
list3 = [{"name": "张三", "age": 20}, {"name": "李四", "age": 18}]
# fp是file path
json.dump(list3, open('02new.json', 'w'))

返回:

CSV:

Test(json ---> csv):

代码:

# coding=gbk
import json
import csv

# 需求:json中的数据转换成CSV文件

# 1.分别 读,创建文件
json_fp = open('02new.json', 'r')
csv_fp = open('03csv.csv', 'w')
# 2.提出 表头,表的内容
data_list = json.load(json_fp)
sheet_title = {"姓名", "年龄"}
# sheet_title = data_list[0].keys())
sheet_data = []
for data in data_list:
    sheet_data.append(data.values())
# 3.CSV写入器
writer = csv.writer(csv_fp)
# 4.写入表头
writer.writerow(sheet_title)
//表头:writerow() #
5.写入内容 writer.writerows(sheet_data)
//内容:writerows() #
6.关闭两个文件 json_fp.close() csv_fp.close()

返回:

MongoDB && Redis && MySQL:

基本操作自行百度~

原文地址:https://www.cnblogs.com/3cH0-Nu1L/p/14495340.html