关于新型冠状病毒API接口自建教程
- 准备反代理云服务器(海外云服务器),阿里云低价购买地址:戳我购买!
- 准备域名
项目文件:
使用教程:
致科研人员和API使用者
1. 本项目完全出于公益目的,API无偿开放给非商业目的人士使用,如果未来用作商业目的或产生任何不必要的版权纠纷,本项目不负任何责任;
2. 本项目仅获取丁香园的疫情数据并将其储存为时间序列,数据所有权为丁香园,本人无法授权任何个人或团体在科研或商业项目中使用本数据,如有需要,希望您能够联系丁香园并取得许可;
3. 如果您对API的使用不熟悉,单纯需要数据作为科研用途,可以移步数据仓库,直接下载便于统计/数据分析软件使用的csv文件;
4. 任何关于本项目的变化均会在项目GitHub主页进行通知,如有任何疑问,请优先查看GitHub主页,若无法找到满意的答案,可以直接在GitHub发Issue共同讨论,否则相同的问题我每天需要在邮件中重复回答数次;
5. 如果对数据获取有任何困难,欢迎您与我取得联系,可以在我的GitHub个人主页中找到我的联系方式;
6. 首次获取数据时间迟于丁香园数据记录时间,因此Area API的首条数据更新时间存在系统性误差,但能够保证后续数据的更新时间与丁香园的数据更新时间误差保持在1分钟以内;
7. 于2019年1月30日17:15起,统计API总使用次数,并不针对单个IP使用频率进行统计;
8. 目前发现浙江省/湖北省部分时间序列数据存在数据异常,可能是丁香园人工录入数据错误,本项目爬虫仅从丁香园公开的数据中获取并储存数据,并不会对异常值进行判断和处理,因此如果将本数据用作科研目的,请自己对数据进行清洗。同时,欢迎各位移步此处反馈潜在的异常数据,我会定期检查并处理。
通知
1. 由于接口压力较大,自2020年3月19日起,本接口以停止返回时间序列数据,可以直接通过数据仓库获取时间序列数据。
请求接口:/nCoV/api/overall
请求方式:GET
返回自爬虫运行开始(2020年1月24日下午4:00)至今,病毒研究情况以及全国疫情概览,可指定返回数据为最新发布数据或时间序列数据。
变量名 | 注释 |
---|---|
latest | 1:返回最新数据(默认) 0:返回时间序列数据(已废除,如需时间序列数据,请前往数据仓库) |
返回数据
变量名 | 注释 |
---|---|
generalRemark | 全国疫情信息概览 |
remarkX | 注释内容,X为1~5 |
note1 | 病毒名称 |
note2 | 传染源 |
note3 | 传播途径 |
currentConfirmedCount(Incr) | 现存确诊人数(较昨日增加数量) 值为confirmedCount(Incr) - curedCount(Incr) - deadCount(Incr) |
confirmedCount(Incr) | 累计确诊人数(较昨日增加数量) |
suspectedCount(Incr) | 疑似感染人数(较昨日增加数量) |
curedCount(Incr) | 治愈人数(较昨日增加数量) |
deadCount(Incr) | 死亡人数(较昨日增加数量) |
seriousCount(Incr) | 重症病例人数(较昨日增加数量) |
updateTime | 数据最后变动时间 |
请求接口:/nCoV/api/provinceName
请求方式:GET
返回数据库内有数据条目的国家、省份、地区、直辖市列表。
变量名 | 注释 |
---|---|
lang | 返回数据的语言。 中文:zh(默认) 英文:en |
示例
1. /nCoV/api/provinceName
返回中文版国家、省份、地区或直辖市列表。
2. /nCoV/api/provinceName?lang=en
返回英文版国家、省份、地区或直辖市列表。
请求接口:/nCoV/api/area
请求方式:GET
返回自2020年1月22日凌晨3:00(爬虫开始运行)至今,中国所有省份、地区或直辖市及世界其他国家的所有疫情信息变化的时间序列数据(精确到市),能够追溯确诊/疑似感染/治愈/死亡人数的时间序列。
注:自2020年1月22日凌晨3:00至2020年1月24日凌晨3:40之间的数据只有省级数据,自2020年1月24日起,丁香园才开始统计并公开市级数据。
变量名 | 注释 |
---|---|
latest | 1:返回最新数据(默认) 0:返回时间序列数据(已废除,如需时间序列数据,请前往数据仓库) |
province | 国家、省份、地区或直辖市的中文名称,如:美国、湖北省、香港、北京市。 具体的名称列表可以通过/nCoV/api/provinceName?lang=zh获取。 |
provinceEng | 国家、省份、地区或直辖市的英文名称,如:湖北省、香港、北京市。 具体的名称列表可以通过/nCoV/api/provinceName?lang=en获取。 请注意大小写规范,应与/nCoV/api/provinceName?lang=en保持一致。 |
返回数据
变量名 | 注释 |
---|---|
locationId | 城市编号 中国大陆城市编号为邮编,中国大陆以外城市编号暂不知规则 |
continent(English)Name | 大洲(英文)名称 |
country(English)Name | 国家(英文)名称 |
province(English)Name | 省份、地区或直辖市(英文)全称 |
provinceShortName | 省份、地区或直辖市简称 |
currentConfirmedCount | 现存确诊人数,值为confirmedCount - curedCount - deadCount |
confirmedCount | 累计确诊人数 |
suspectedCount | 疑似感染人数 |
curedCount | 治愈人数 |
deadCount | 死亡人数 |
comment | 其他信息 |
cities | 下属城市的情况 |
updateTime | 数据更新时间 |
示例
1. /nCoV/api/area?latest=1&province=湖北省
返回湖北省疫情最新数据
2. /nCoV/api/area?latest=0&province=湖北省返回湖北省疫情的时间序列数据
3. /nCoV/api/area?latest=1
返回中国全部城市及世界其他国家疫情最新数据
请求接口:/nCoV/api/news
请求方式:GET
返回所有与疫情有关的新闻信息,包含数据来源以及数据来源链接。
按发布顺序倒序排列。
变量名 | 注释 |
---|---|
province | 省份或直辖市,如:湖北省、北京市。 如不设定,则默认返回所有城市的新闻数据。仅对中文新闻可用。 |
page | 返回新闻的页码。默认返回第1页。 |
num | 返回新闻每页的数量。默认为10则。 |
lang | 返回新闻的语言。 中文:zh(默认) 英文:en |
返回数据
变量名 | 注释 |
---|---|
pubDate | 新闻发布时间 |
title | 新闻标题 |
summary | 新闻内容概述 |
infoSource | 数据来源 |
sourceUrl | 来源链接 |
province | 省份或直辖市名称 |
provinceId | 省份或直辖市代码 |
示例
1. /nCoV/api/news?num=all&lang=en
返回所有地区范围内全部英文新闻内容。
2. /nCoV/api/news?page=2&num=10&province=湖北省
返回湖北省范围内第2页的新闻,每页10则。因此,返回的新闻即为湖北省第11至20则新闻。
请求接口:/nCoV/api/rumors
请求方式:GET
返回与疫情有关的谣言以及丁香园的辟谣。
按发布顺序倒序排列。
变量名 | 注释 |
---|---|
rumorType | 0:返回谣言(默认) 1:返回可信信息 2:返回尚未证实信息 |
page | 返回谣言的页码。默认返回第1页。 |
num | 返回每页谣言的数量。默认为10则。 |
返回数据
变量名 | 注释 |
---|---|
id | 谣言编号 |
title | 谣言标题 |
mainSummary | 辟谣内容概述 |
body | 辟谣内容全文 |
sourceUrl | 来源链接 |
示例
1. /nCoV/api/rumors?page=1&num=10&rumorType=1
返回第2页可信信息,每页10则,即返回所有可信信息的第11至20则。
本项目为2019新型冠状病毒(COVID-19/2019-nCoV)疫情状况的时间序列数据仓库,数据来源为丁香园。
近期数位高校师生与我联系,希望用这些数据做科研之用。然而并不熟悉API的使用和JSON数据的处理,因此做了这个数据仓库,直接推送大部分统计软件可以直接打开的csv文件,希望能够减轻各位的负担。
数据由2019新型冠状病毒疫情实时爬虫获得,每小时检测一次更新,若有更新则推送至数据仓库中。
受限于服务器带宽压力,自2020年3月19日起,API接口/nCoV/api/overall
及/nCoV/api/area
不再返回时间序列数据,时间序列数据可以在json文件夹下获取。如果您调用接口时使用了latest=0
参数,则需要修改请求,否则无需修改。
CSV文件列表
- 全国数据DXYOverall.csv
- 地区数据DXYArea.csv(包含英文城市名)
- 新闻数据DXYNews.csv
- 谣言数据DXYRumors.csv
自4db432f
开始,DXYArea.csv包含中国境内省市级、港澳台地区及海外数据。另外,也可以参考这个问题,来定制自己的数据集。
JSON文件列表
由于API接口时常不稳定,因此此项目也会定时向json
文件夹中推送静态的JSON文件更新。JSON文件与API中提供的JSON完全一致。
由于本人精力有限,不接受数据定制。如对数据有更多的要求,烦请自行处理。
数据说明
- 部分数据存在重复统计的情况,如Issue #21中所述,河南省部分市级数据存在"南阳(含邓州)"及"邓州"两条数据,因此在求和时"邓州"的数据会被重复计算一次。
数据异常
目前发现浙江省/湖北省部分时间序列数据存在数据异常,可能的原因是丁香园数据为人工录入,某些数据可能录入错误,比如某一次爬虫获取的浙江省治愈人数为537人,数分钟后被修改回正常人数。
本项目爬虫仅从丁香园公开的数据中获取并储存数据,并不会对异常值进行判断和处理,因此如果将本数据用作科研目的,请自己对数据进行清洗。同时,我已经在Issue中开放了异常数据反馈通道,可以直接在此问题中反馈潜在的异常数据,我会定期检查并处理。
更多功能
扩展插件
- 如果您希望使用R语言对数据进行分析,可以参考pzhaonet/ncovr项目,该项目整合通过GitHub数据仓库/API数据提取两种模式。
数据分析
- jianxu305/nCov2019_analysis
功能:参考此处。 - lyupin/Visualize-DXY-2019-nCov-Data
功能:参考此处。 - Avens666/COVID-19-2019-nCoV-Infection-Data-cleaning-
功能:参考此处
祝大家一切都好。