Skip to content
This repository was archived by the owner on May 5, 2023. It is now read-only.

Commit 808800c

Browse files
committed
docs: update docs
1 parent 1d68f15 commit 808800c

File tree

5 files changed

+186
-25
lines changed

5 files changed

+186
-25
lines changed

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@
2525

2626
</div>
2727

28+
由于现在疫情高发地已从国内转向国外,所以本项目也会逐渐增加*数据源*以便提供关于*国外某国某州(某省)*的疫情数据接口。
29+
30+
现已新增美国各州最新疫情以及各州每日疫情统计接口,可前往 [各国各州接口](#/?id=states) 查看接口文档。
31+
2832
# 项目文档
2933

3034
本项目使用开源文档工具 [docsify](https://docsify.js.org) 编写了一份开发文档。
@@ -52,6 +56,10 @@
5256
* 推荐使用评论方式提问;
5357
* 推荐使用 isuss 提交 bug;
5458

59+
# 致谢
60+
61+
* [ccjhpu](https://github.com/ccjhpu):在 [issues-8](https://github.com/leafcoder/django-covid19/issues/8) 中提出了加入各国各州的需求以及数据来源。
62+
5563
# 致各位
5664

5765
如果本项目对你有所帮助,请在[此处](http://111.231.75.86:8000/docs/#/?id=detail-1)留下你的项目地址。

docs/README.md

Lines changed: 176 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<div align="center">
22

3-
# 新冠肺炎实时接口 {docsify-ignore}
3+
# 新冠肺炎实时接口 :id=intro {docsify-ignore}
44

55
<p>
66
<!-- Place this tag where you want the button to render. -->
@@ -28,22 +28,28 @@
2828
本项目的数据来源为[`丁香园`](http://ncov.dxy.cn/ncovh5/view/pneumonia),定时获取疫
2929
情数据,保存疫情数据变更情况,以备跟踪研究和数据图表化展示。
3030

31+
由于现在疫情高发地已从国内转向国外,所以本项目也会逐渐增加*数据源*以便提供关于*国外某国某州(某省)*的疫情数据接口。
32+
33+
现已新增美国各州最新疫情以及各州每日疫情统计接口,可前往 [各国各州接口](#/?id=states) 查看接口文档。
34+
3135
# 快速开始 :id=quick-start
3236

3337
请按照以下步骤完成项目的初始化和启动。
3438

35-
## 代码仓库
39+
## 代码仓库 :id=repo
3640

3741
项目开源,需要源代码可以前往仓库自行获取。
3842

3943
前往获取源码 [https://github.com/leafcoder/django-covid19](https://github.com/leafcoder/django-covid19)
4044

41-
## 线上示例
45+
## 线上示例 :id=demo
4246

4347
使用本项目的接口开发了一个数据大屏的示例页面,代码在项目根目录的 `demo/` 文件夹中。
4448

4549
前往在线示例 [新冠肺炎实时数据大屏](http://ncov.leafcoder.cn/demo)
4650

51+
[![在线数据大屏](https://raw.githubusercontent.com/leafcoder/django-covid19/master/docs/images/dashboard.png)](http://111.231.75.86/dashboard)
52+
4753
## 安装 :id=install
4854

4955
可以直接通过 `pip` 命令安装;
@@ -63,7 +69,7 @@
6369

6470
## 初始化 :id=init
6571

66-
### 跨域
72+
### 跨域 :id=corsheaders
6773

6874
将应用 `corsheaders` 和相关应用添加到你项目配置文件的 `INSTALLED_APPS`
6975

@@ -113,7 +119,7 @@
113119
'Pragma',
114120
)
115121

116-
### 数据库
122+
### 数据库 :id=database
117123

118124
项目示例中使用 `sqlite3` 作为数据库存储数据(推荐使用 `MySQL`);
119125

@@ -135,7 +141,10 @@
135141
}
136142
}
137143

138-
### 缓存
144+
### 缓存 :id=cache
145+
146+
> 如果使用*内存*等无法跨进程访问的方式作为缓存后端,会导致爬虫更新数据后,缓存并不会自动删除。
147+
> 建议使用 `Redis` 等可跨进程访问的缓存后端。
139148
140149
项目缓存配置建议使用 `Redis` 作为缓存后端(项目也支持*文件**内存*等缓存方式);
141150

@@ -151,7 +160,7 @@
151160
}
152161

153162

154-
### 数据库初始化
163+
### 数据库初始化 :id=migrate
155164

156165
并运行以下命令完成项目数据库的初始化;
157166

@@ -177,18 +186,23 @@
177186

178187
CRONTAB_LOCK_JOBS = True
179188
CRONJOBS = (
180-
# 每分钟抓取一次
181-
('*/1 * * * *', 'django.core.management.call_command', ['crawl']),
182-
)
189+
# 每分钟抓取丁香园数据一次
190+
('*/1 * * * *', 'django.core.management.call_command', ['crawl', 'dxy']),
183191

192+
# 每天下午4-6点间每10分钟抓取 covidtracking 数据一次(covidtracking 每天下午4-5点间更新数据)
193+
# 抓取美国各州疫情数据
194+
('*/10 16-18 * * *', 'django.core.management.call_command', ['crawl', 'covidtracking'])
184195

185-
要创建自动抓取丁香园新冠数据任务需要运行如下命令,创建定时任务;
196+
)
197+
198+
要创建自动抓取丁香园、covidtracking 新冠数据任务需要运行如下命令,创建定时任务;
186199

187200
$ ./manage.py crontab add
188201

189-
如果想要立即爬取数据,可通过项目自定义命令获取;如果丁香园数据未发生变更,爬虫并不会爬取数据。
202+
如果想要立即爬取数据,可通过项目自定义命令获取;如果数据未发生变更,爬虫并不会爬取数据。
190203

191-
$ ./manage.py crawl
204+
$ ./manage.py crawl dxy
205+
$ ./manage.py crawl covidtracking
192206

193207
## 项目启动 :id=start
194208

@@ -198,7 +212,7 @@
198212

199213
运行成功后,通过浏览器访问 [`http://localhost:8000/api/statistics/`](http://localhost:8000/api/statistics/) 即可看到统计数据。
200214

201-
# 示例项目
215+
# 示例项目 :id=demo-project
202216

203217
通过 `pip` 安装好应 `django_covid19` 后,可以直接运行源码文件中的示例项目 `demo_proj` 查看效果。
204218

@@ -384,7 +398,7 @@ http://111.231.75.86:8000/api/statistics/
384398
]
385399
```
386400

387-
## 国家疫情 :id=country
401+
## 各国疫情 :id=country
388402

389403
### 日统计 :id=country-daily
390404

@@ -478,7 +492,7 @@ http://111.231.75.86:8000/api/countries/?continents=南美洲,北美洲&countryN
478492
]
479493
```
480494

481-
### 国家详情 :id=country-detail
495+
### 各国详情 :id=country-detail
482496

483497
根据国家名称获取某个国家的疫情统计数据;
484498

@@ -514,9 +528,9 @@ http://111.231.75.86:8000/api/countries/巴西/
514528
}
515529
```
516530

517-
## 省/自治区/直辖市
531+
## 省/自治区/直辖市 :id=province
518532

519-
### 日统计
533+
### 日统计 :id=province-daily
520534

521535
通过`短省份名`获取某个中国省份(自治区、直辖市)的疫情从 2020-01-19 到目前的疫情列表数据;
522536

@@ -568,7 +582,7 @@ http://111.231.75.86:8000/api/provinces/澳门/daily/
568582
]
569583
```
570584

571-
### 省列表
585+
### 省列表 :id=province-list
572586

573587
获取中国各中国省/自治区/直辖市的疫情统计数据;
574588

@@ -604,7 +618,7 @@ http://111.231.75.86:8000/api/provinces/?provinceShortNames=四川,香港
604618
]
605619
```
606620

607-
### 省详情
621+
### 省详情 :id=province-detail
608622

609623
通过`短省份名`获取某个中国省份(自治区、直辖市)的疫情统计数据;
610624

@@ -636,9 +650,9 @@ http://111.231.75.86:8000/api/provinces/澳门/
636650
}
637651
```
638652

639-
## 城市或直辖市某区
653+
## 城市或直辖市某区 :id=city
640654

641-
### 城市列表
655+
### 城市列表 :id=city-list
642656

643657
获取中国各个城市或直辖市某个区的疫情数据。
644658

@@ -673,7 +687,7 @@ http://111.231.75.86:8000/api/cities/?cityNames=大庆,万州区
673687
]
674688
```
675689

676-
### 城市详情
690+
### 城市详情 :id=city-detail
677691

678692

679693
接口地址:/api/cities/\<CITY_NAME\>/
@@ -697,3 +711,142 @@ http://111.231.75.86:8000/api/cities/大庆/
697711
"deadCount": 4
698712
}
699713
```
714+
715+
716+
## 各国各州 :id=state
717+
718+
现阶段暂时仅支持获取 *美国各州* 最新数据和每日数据,数据来源为 [https://covidtracking.com/](https://covidtracking.com/),每日 *下午 4-5 点* 更新数据;
719+
720+
特此感谢 [ccjhpu](https://github.com/ccjhpu)[issues-8](https://github.com/leafcoder/django-covid19/issues/8) 中提出的需求以及数据来源。
721+
722+
### 美国 :id=state-USA
723+
724+
> 各国疫情统计数据中,美国整体疫情数据依旧来源于 [`丁香园`](http://ncov.dxy.cn/ncovh5/view/pneumonia)
725+
仅美国各州疫情数据来源于 [https://covidtracking.com/](https://covidtracking.com)
726+
727+
不过由于各个数据源间统计方式的不同,所以也会将 [https://covidtracking.com/](https://covidtracking.com) 原始数据提供出来,以供选择;
728+
729+
原始数据的文档请自行参考 [https://covidtracking.com/api](https://covidtracking.com/api);
730+
731+
#### 州列表 :id=state-USA-list
732+
733+
获取中国各个城市或直辖市某个区的疫情数据。
734+
735+
接口地址:/api/states/USA/
736+
737+
原始数据:/api/states/raw/USA/
738+
739+
请求方法:GET
740+
741+
请求参数:
742+
743+
参数 | 描述
744+
------------------- | -------
745+
stateNames | 州名,如:Alaska,Alabama;以逗号分割多个值;大小写敏感;
746+
states | 州缩写,如:AK(Alaska),AL(Alabama);大小写敏感;
747+
748+
示例链接:
749+
750+
http://111.231.75.86:8000/api/states/USA/
751+
752+
http://111.231.75.86:8000/api/states/USA/?states=AL,AK
753+
754+
http://111.231.75.86:8000/api/states/USA/?stateNames=Alaska,Alabama
755+
756+
757+
返回结果:
758+
759+
```
760+
[
761+
{
762+
"currentConfirmedCount": 56,
763+
"confirmedCount": 434,
764+
"curedCount": 368,
765+
"deadCount": 10,
766+
"suspectedCount": null,
767+
"stateName": "Alaska",
768+
"state": "AK",
769+
"countryShortCode": "USA"
770+
},
771+
{
772+
"currentConfirmedCount": 7917,
773+
"confirmedCount": 17903,
774+
"curedCount": 9355,
775+
"deadCount": 631,
776+
"suspectedCount": null,
777+
"stateName": "Alabama",
778+
"state": "AL",
779+
"countryShortCode": "USA"
780+
},
781+
...
782+
其他各州
783+
]
784+
```
785+
786+
#### 某州最新疫情 :id=state-USA-detail
787+
788+
789+
接口地址:/api/states/USA/\<STATE\>/
790+
791+
原始数据:/api/states/raw/USA/\<STATE\>/
792+
793+
请求方法:GET
794+
795+
示例链接:
796+
797+
http://111.231.75.86:8000/api/states/USA/AL/
798+
799+
http://111.231.75.86:8000/api/states/USA/AK/
800+
801+
返回结果:
802+
803+
```
804+
{
805+
"currentConfirmedCount": 7917,
806+
"confirmedCount": 17903,
807+
"curedCount": 9355,
808+
"deadCount": 631,
809+
"suspectedCount": null,
810+
"stateName": "Alabama",
811+
"state": "AL",
812+
"countryShortCode": "USA"
813+
}
814+
```
815+
816+
#### 某州日统计 :id=state-USA-daily
817+
818+
819+
接口地址:/api/states/USA/\<STATE\>/daily
820+
821+
原始数据:/api/states/raw/USA/\<STATE\>/daily
822+
823+
请求方法:GET
824+
825+
示例链接:
826+
827+
http://111.231.75.86:8000/api/states/USA/AL/daily/
828+
829+
返回结果:
830+
831+
```
832+
[
833+
// 更早日期疫情
834+
...
835+
{
836+
"state": "AL",
837+
"date": "20200531",
838+
"stateName": "Alabama",
839+
"countryShortCode": "USA",
840+
"currentConfirmedCount": 7917,
841+
"confirmedCount": 17903,
842+
"curedCount": 9355,
843+
"deadCount": 631,
844+
"suspectedCount": null,
845+
"currentConfirmedIncr": 531,
846+
"confirmedIncr": 544,
847+
"curedIncr": null,
848+
"deadIncr": 13,
849+
"suspectedIncr": 5352
850+
}
851+
]
852+
```

docs/images/docs.png

49.5 KB
Loading

docs/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="UTF-8">
55
<title>新冠肺炎实时接口 - leafcoder</title>
66
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
7-
<meta name="description" content="新冠肺炎实时接口,实时获取各个城市、省份、国家的疫情数据以及整体统计详情。">
7+
<meta name="description" content="新冠肺炎实时接口,实时获取中国各个城市、省份、国家的疫情数据以及整体统计详情,新增美国各州统计、每日疫情数据接口">
88
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
99
<!-- <link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/vue.css"> -->
1010
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/lib/themes/vue.css">

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="UTF-8">
55
<title>新冠肺炎实时接口 - leafcoder</title>
66
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
7-
<meta name="description" content="新冠肺炎实时接口,实时获取各个城市、省份、国家的疫情数据以及整体统计详情。">
7+
<meta name="description" content="新冠肺炎实时接口,实时获取中国各个城市、省份、国家的疫情数据以及整体统计详情,新增美国各州统计、每日疫情数据接口">
88
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
99
<!-- <link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/vue.css"> -->
1010
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/lib/themes/vue.css">

0 commit comments

Comments
 (0)