全世界疫情实时查询系统(第三阶段)
实现思路:
使用Android Studio连接MySQL数据库获取数据;
编写工具类实现数据提取;
页面数据绑定,进行数据的展示;
使用python爬取全球疫情的数据;
import requests import time, json import sys; import pymysql def get_wangyi_request(): url = \'https://c.m.163.com/ug/api/wuhan/app/data/list-total\' headers = { \'accept\': \'*/*\', \'accept-encoding\': \'gzip,deflate,br\', \'accept-language\': \'en-US,en;q=0.9,zh-CN;q = 0.8,zh;q = 0.7\', \'origin\': \'https://wp.m.163.com\', \'referer\': \'https://wp.m.163.com/\', \'sec-fetch-dest\': \'empty\', \'sec-fetch-mode\': \'cors\', \'sec-fetch-site\': \'same-ite\', \'user-agent\': \'Mozilla/5.0(WindowsNT10.0;Win64;x64) AppleWebKit/37.36 (KHTML, likeGecko) Chrome/82.0.4056.0 Safari/537.36 Edg/82.0.432.3\' } result = requests.get(url, headers=headers) return result def print_mess1(string: str, dict1total: dict): sys.stdout.write(string + \'确诊: \' + str(dict1total[\'confirm\'] if dict1total[\'confirm\'] != None else 0)) sys.stdout.write(\' \') sys.stdout.write(string + \'疑似: \' + str(dict1total[\'suspect\'] if dict1total[\'suspect\'] != None else 0)) sys.stdout.write(\' \') sys.stdout.write(string + \'治愈: \' + str(dict1total[\'heal\'] if dict1total[\'heal\'] != None else 0)) sys.stdout.write(\' \') sys.stdout.write(string + \'死亡: \' + str(dict1total[\'dead\'] if dict1total[\'dead\'] != None else 0)) if __name__ == \'__main__\': result = get_wangyi_request() json_str = json.loads(result.text)[\'data\'] # print(json_str.keys()) # dict_keys([\'chinaTotal\', \'chinaDayList\', \'lastUpdateTime\', \'areaTree\']) print(json_str[\'lastUpdateTime\']) countryname_list = json_str[\'areaTree\'] # 每个省份包含如下的键 # dict_keys([\'today\', \'total\', \'extData\', \'name\', \'id\', \'lastUpdateTime\', \'children\']) conn = pymysql.connect( host=\'localhost\', # 我的IP地址 port=3306, # 不是字符串不需要加引号。 user=\'root\', password=\'101032\', db=\'test\', charset=\'utf8\' ) cursor = conn.cursor() # 获取一个光标 confirmed_total = 0 suspected_total = 0 dead_total = 0 healed_total = 0 id = 0; for dict in countryname_list: sql = \'insert into yiqing_world (countryname,confirmed,suspected,dead,healed,lastUpdateTime,id) values (%s,%s,%s,%s,%s,%s,%s);\' countryname = dict[\'name\'] confirmed = dict[\'total\'][\'confirm\'] confirmed_total += confirmed suspected = dict[\'total\'][\'suspect\'] suspected_total += suspected healed = dict[\'total\'][\'heal\'] dead_total += healed dead = dict[\'total\'][\'dead\'] dead_total += dead lastUpdateTime = dict[\'lastUpdateTime\'] id=id+1 sys.stdout.write( dict[\'name\'] + \' \') cursor.execute(sql, [countryname,confirmed,suspected,dead,healed,lastUpdateTime,id]) print() conn.commit() cursor.close() conn.close()
项目计划总结表:
日期 | 编程 | 完善程序 | 测试程序 | 参考资料 | 日总结 |
3.17 | 16:00—17:30 | 1.5 | 1.5 | ||
3.18 | 14:00—17:00 | 1.5 | 0.5 | ||
3.19 | 14:00—15:30 | 0.5 |
0.5 |
||
3.20 | 20:00—22:00 | 0.5 | |||
3.21 | 7:00—11:30 | 14:30—17:00 | 18:00—21:00 | 1.5 | 0.5 |
时间记录总结:
日期 | 开始 | 结束 | 中断时间 | 净时间 | 活动 | 备注 |
3.17 | 16:00 | 17:30 | 无 | 1.5 | 查阅资料、构思 | |
3.18 | 14:00 | 17:30 | 无 | 2.5 | 修改与测试、查阅资料 | |
3.19 | 14:00 | 15:30 | 无 | 1.5 | 修改与测试、查阅资料 | |
3.20 | 20:00 | 22:00 | 无 | 2 | 修改与测试、查阅资料 | |
3.21 | 7:00 | 11:30 | 0.5 | 4 | 修改与测试、查阅资料 | |
14:30 | 17:00 | 0.5 | 2 | 修改与测试、查阅资料 | ||
18:00 | 21:00 | 0.5 | 2.5 | 修改与测试、查阅资料 |
缺陷记录表:
日期 | 编号 | 类型 | 引入 | 排除 | 修复 | 修复时间 |
3.17 | 1 | 程序 | 编程 | 编译 | 构思思路、查阅资料 | |
3.18 | 2 | 程序 | 编程 | 编译 | 1小时 | |
3.19 | 3 | 程序 | 编程 | 编译 | 2小时 | |
3.20 | 4 | 程序 | 编程 | 编译 | 获取不到数据 | 3小时 |
3.21 | 5 | 程序 | 编程 | 编译 | 数据页面绑定 | 1小时 |
版权声明:本文为a155-原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。