import requests import pymysql import json def create(): # 连接数据库 db = pymysql.connect(host = 'localhost', user = 'root', password ='258000', database = 'yiqing',charset='utf8') # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 execute() 方法执行 SQL,如果表存在则删除 cursor.execute("DROP TABLE IF EXISTS payiqing") # 使用预处理语句创建表 sql = """CREATE TABLE payiqing ( Id INT PRIMARY KEY AUTO_INCREMENT, UpDateTime varCHAR(255), Province varchar(255), City varchar(255), Confirm varchar(255), Confirm_add varchar(255), Heal varchar(255), Dead varchar(255))""" #upDateTime,provinse,city,confirm,confirm_add,heal,dead cursor.execute(sql) #关闭数据库连接 db.close() def insert(value): # 连接数据库 db = pymysql.connect(host = 'localhost', user = 'root', password ='258000', database = 'yiqing',charset='utf8') # 使用 execute() 方法执行 SQL,如果表存在则删除 cursor = db.cursor() # 使用预处理语句插入数据 sql = "INSERT INTO payiqing(UpDateTime,Province,City,Confirm,Confirm_add,Heal,Dead) VALUES ( %s,%s,%s,%s,%s,%s,%s)" #updateDateTime,provinse,city,confirm,confirm_add,heal,dead try: cursor.execute(sql, value) db.commit() print('插入数据成功') except: db.rollback() print("插入数据失败") db.close() create() # 创建表 #目标网站 url = 'http://view.inews.qq.com/g2/getOnsInfo?name=disease_h5' #请求资源,获取相应内容 resp = requests.post(url) #打印网页内容 print(resp.text) # 将响应信息进行json格式化 #一个从文件加载,一个从内存加载#json.load(filename)#json.loads(string) jsonData = json.loads(resp.text) data_all = json.loads(jsonData["data"]) #保存全国历史数据 history = {} #print(data_all.keys()) i = data_all["chinaTotal"] history = {"lastUpdateTime":data_all["lastUpdateTime"],"confirm":i["confirm"] ,"heal":i["heal"],"dead":i["dead"],"suspect":i["suspect"]} #print(history) #用于存储当日详细数据的集合 details = [] upDateTime = data_all["lastUpdateTime"]#储存最近更新时间 data_province = data_all["areaTree"][0]["children"] #中国各省 #遍历存储 for pro in data_province: provinse = pro["name"] #省名 for cit in pro["children"]: city = cit["name"] confirm = cit["total"]["confirm"] confirm_add = cit["today"]["confirm"] heal = cit["total"]["heal"] dead = cit["total"]["dead"] insert((upDateTime,provinse,city,confirm,confirm_add,heal,dead))#存入数据库