用Python编写的opendiseaseapi的异步包装器。
disease.p的Python项目详细描述
在疾病.py在
Open Disease API的官方Python包装器。以前是corona-api
。在
要求
- Python 3.5或更高版本
- aiohttp(
python3 -m pip install -U aiohttp
)
安装
使用pip(推荐)
python3 -m pip install -U disease.py
导入就和import diseaseapi
一样简单。在
支持
在我们的official server或Disease.sh server上获得对不一致的支持。在
基本用途
importdiseaseapiimportasyncioclient=diseaseapi.Client()covid=client.covid19# for influenza, use: influenza = client.influenzaasyncdefmain():data=awaitcovid.all()print(data.cases,data.today.cases,data.deaths,data.today.deaths)awaitclient.request_client.close()asyncio.get_event_loop().run_until_complete(main())
Covid方法中的可选参数
Parameter | Supported methods | Accepted values |
---|---|---|
^{ | - ^{ | - ^{ |
^{ | - ^{ | - ^{ |
^{ | - ^{ | Depends on the endpoint used. Consult the API documentation to see which endpoints support which parameters. |
^{ | - ^{ | - ^{ |
示例
以下示例介绍了库的基本用法及其各种特性。
注意:许多方法还支持yesterday=True
、sort='sort method'
和{
不和谐机器人
这里有一个不和谐机器人的齿轮示例here。在
基础数据
全球数据
^{pr2}$特定国家的数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_country():data=awaitclient.country_data('UK')#get data for the UK today,print(data.cases,data.deaths)#print the number of cases and deaths for the UKawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_country())
不止一个国家的数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_countries():data=awaitclient.country('UK','USA','China')#get data for specified countries#to get data for every country supported, use: all_countries()print(data)#prints a list of Countryawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_countries())
美国各州
特定状态的数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_state():data=awaitclient.state('Ohio')#get data for Ohio today,print(data.cases,data.deaths)#print the number of cases and deaths for Ohioawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_state())
多个状态的数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_states():data=awaitclient.state('Ohio','California','Texas')#get data for specified states#to get data for every state supported, use: all_states()print(data)#prints a list of Stateawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_states())
历史统计
全球历史数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_history():data=awaitclient.country_history('all','all')#get all the historical data for the worldprint(data.name,data.history.cases[0].date,data.history.cases[0].value)#print name (in this case 'Global'), the date of the first entry, and the number of cases for that dateawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_history())
一个国家的历史数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_history():data=awaitclient.country_history('UK',7)#get the past week of historical data for the UKprint(data.name,data.history.cases[0].date,data.history.cases[0].value)#print name, the date of the first entry, and the number of cases for that dateawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_history())
省历史数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_history_province():data=awaitclient.province_history('UK','Gibraltar',7)#get the past week of historical data for Gibraltar, UKprint(data.province,data.history.cases[0].date,data.history.deaths[0].value)#print province name, the date of the first entry, and the number of cases for that dateawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_history_province())
美国州内郡的历史数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_county():data=awaitclient.county_history('Ohio','Adams')#get all historical data for Adams, Ohio, USAprint(data.name,data.province,data.history.cases[0].date,data.history.cases[0].value)#print state and county name, the date of the first entry, and the number of cases for that dateawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_county())
约翰霍普金斯大学
来自JHU CSSE的所有数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_jhu():data=awaitclient.jhucsse()#get data for every province and country JHU supportsprint(data)#print a long list of JhuCsseawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_jhu())
美国州内郡的数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_jhu_county():data=awaitclient.jhu_county('Ohio','Adams')#get data for Adams, Ohioprint(data.province_name,data.county_name,data.confirmed_cases)#print the state, county and case numberawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_jhu_county())
美国每个县的数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_jhu_counties():data=awaitclient.jhu_all_counties()print(data)#print a long list of JhuCsseawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_jhu_counties())
大陆数据
各大洲的数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_conts():data=awaitclient.all_continents()first=data[0]print(first.name,first.cases,first.deaths)#print some info for the first continent in the listawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_conts())
单个大陆的数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_one_cont():data=awaitclient.continent('Europe')print(data.name,data.cases,data.deaths)#print some info for the specified continentawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_one_cont())
纽约时报
来自纽约时报的美国数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_nyt_us():data=awaitclient.nyt()first=data[0]print(first.date,first.cases,first.deaths)#print first piece of dataawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_nyt_us())
纽约时报的所有美国州数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_nyt_states():data=awaitclient.nyt_states()first=data[0]print(first.state,first.date,first.cases)#print some data from the frst elementawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_nyt_states())
纽约时报单州数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_nyt_state():data=awaitclient.nyt_state('Ohio')first=date[0]print(first.date,first.cases,first.deaths)#print the first date, and case/death numberawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_nyt_state())
纽约时报的每个郡
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_counts():data=awaitclient.nyt_counties()first=data[0]print(first.date,first.cases,first.deaths)#print part of the first piece of dataawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_counts())
纽约时报按名称筛选的县
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_one_county():data=awaitclient.nyt_county('Adams')first=data[0]print(first.date,first.cases,first.deaths)#print part of the first piece of dataawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_one_county())
苹果移动
苹果移动数据支持的每个国家
^{pr21}$苹果移动
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_subregions():data=awaitclient.apple_subregions('UK')print(data.subregions)#print all supported subregions within the countryawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_subregions())
苹果公司的次区域移动数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_one_sub():data=awaitclient.apple_mobility_data('UK','London')first=data.statistics[0]print(first.date,first.name,first.driving)#print some data about the first resultawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_one_sub())
政府数据
政府数据API支持的所有国家
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_gov_countries():data=awaitclient.gov_countries()print(data)#print the supported countriesawaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_gov_countries())
从一个国家的政府网站获取数据
importdiseaseapiimportasyncioclient=diseaseapi.Client().covid19asyncdefget_country_gov():data=awaitclient.gov('UK')print(data)#probably will return a large amount of dict data.awaitclient.request_client.close()#close the ClientSessionasyncio.get_event_loop().run_until_complete(get_country_gov())
注意
由于每个国家的政府/官方统计网站不同(布局、表格等),因此不可能为数据创建一个标准化的类。但是,重新生成的数据将采用标准JSON格式,因此它应该相对简单。在
- 项目
标签: