实现思路:

    使用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 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/a155-/p/12549350.html?ivk_sa=1024320u