from datetime import datetime import aiohttp from utils.user_agent import get_user_agent import json import os from configs.path_config import TXT_PATH from utils.utils import get_local_proxy url = "https://api.yimian.xyz/coro/" async def get_yiqing_data(province, city_=""): if not os.path.exists(TXT_PATH + "yiqing/"): os.mkdir(TXT_PATH + "yiqing/") if not os.path.exists(TXT_PATH + "yiqing/" + str(datetime.now().date()) + ".json"): async with aiohttp.ClientSession(headers=get_user_agent()) as session: async with session.get(url, proxy=get_local_proxy(), timeout=7) as response: datalist = await response.json() with open( TXT_PATH + "yiqing/" + str(datetime.now().date()) + ".json", "w" ) as f: json.dump(datalist, f) datalist = json.load( open(TXT_PATH + "yiqing/" + str(datetime.now().date()) + ".json", "r") ) result = "" for data in datalist: if data["provinceShortName"] == province: if city_ == "": result = ( province + "疫情数据:\n现存确诊: " + str(data["currentConfirmedCount"]) + "\n累计确诊: " + str(data["confirmedCount"]) + "\n治愈: " + str(data["curedCount"]) + "\n死亡: " + str(data["deadCount"]) ) break else: for city in data["cities"]: if city["cityName"] == city_: result = ( city_ + "疫情数据:\n现存确诊: " + str(city["currentConfirmedCount"]) + "\n累计确诊: " + str(city["confirmedCount"]) + "\n治愈: " + str(city["curedCount"]) + "\n死亡: " + str(city["deadCount"]) ) break return result def clear_data(): for file in os.listdir(TXT_PATH + "yiqing/"): os.remove(TXT_PATH + "yiqing/" + file) if __name__ == "__main__": print(get_yiqing_data("浙江", city_=""))