#1、json文件存储
# import json
# str="""
# [{
# "rating": ["9.2", "45"],
# "rank": "21",
# "cover_url": "https://img1.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p511146807.jpg",
# "is_playable": "false",
# "id": "1292001",
# "types": ["剧情", "音乐"],
# "regions": ["意大利"]
# },
# {
# "title": "海上钢琴师",
# "url": "https:\/\/movie.douban.com\/subject\/1292001\/",
# "release_date": "1998-10-28",
# "actor_count": "5",
# "vote_count": "687870",
# "score": "9.2",
# "actors": ["蒂姆·罗斯", "普路特·泰勒·文斯", "比尔·努恩", "梅兰尼·蒂埃里", "阿尔贝托·巴斯克斯"],
# "is_watched": "false"
# }]"""
# print(type(str))
# data = json.loads(str) #json不识别单引号,所有数据都得用双引号
# print(data)
# print(type(data))
# with open("./data.json","w") as f:
# json.dump(data,f)
# with open("./data.json","r") as f:
# a=json.load(f)
# print(type(a))
#为了输出中文,需要指定参数
# with open("./data.json","w",encoding="utf-8") as f:
# json.dump(data,f,ensure_ascii=False)
#2、CSV文件储存 表格形式
#1、写入
import csv
# with open('data.csv','w',newline='') as f: #如果不写newline="",生成的列表中数据之间会多了一行换行
# writer = csv.writer(f)
# writer.writerow(["id","name","age"])
# writer.writerow(["1001","lin","22"])
# writer.writerow(["1002","lu","23"])
#可以调用参数,修改列与列之间的分隔符
# with open("data.csv","a") as f:
# writer = csv.writer(f,delimiter = " ") #写在了一个格子内了。。。。
# writer.writerow(["1003","lin3","42"])
#可以调用writerrows()方法同时写入多行
# writer.writerows([["1003","lin3","22"],["1004","lin4","44"]])
#一般情况下,爬虫爬取的数据都是结构化数据,一般用字典保存,csv中提供了字典的保存方式
# filenames = ["id","name","age"]
# writer = csv.DictWriter(f,fieldnames = filenames)
# writer.writerow({'id':'1001',"name":"lin","age":"23"})
# writer.writerow({'id':'1001',"name":"lin","age":"23"})
#csv文件读取
# with open('data.csv','r',encoding="utf-8") as f:
# reader = csv.reader(f)
# for row in reader:
# print(row)