Closed pzhaonet closed 4 years ago
谢谢这个项目。非常有用。然而最近访问 api 总是出现 502 错误,不知是什么原因?
或许是API访问频率太高,uWSGI单线程无法承受这么大量的请求,所以频繁重启。加上了进程守护效果也不太理想。目前域名已经完成备案,正在着手将项目迁移至大陆服务器。
谢谢答复。我是 R 语言用户,每天自动从这个 api 读一次数据,保存成 R 语言直接读取的 .RDS 格式。R 语言用户可以直接读取:
# list 格式
readRDS(gzcon(url('https://github.com/pzhaonet/travis-ncov/raw/master/data/ncov.RDS')))
# tidyverse 格式
readRDS(gzcon(url('https://github.com/pzhaonet/travis-ncov/raw/master/data/ncov_tidy.RDS')))
也许这样可以帮您分流,减轻一点访问压力。
为了简便,我开发了个 R 语言包(简介),代替上面的代码,可以方便地从 .RDS (默认)或你的 api 读数据。使用方法是:
remotes::install_github('pzhaonet/ncovr') # 安装包
require("ncovr") #加载包
get_ncov() # 读 RDS数据
get_ncov(method = 'api') # 从您的 api 读取
如果 api 访问不了,我打算增加从您的 csv 文件读取数据的功能。
此外,我做了 个网站,对您整理的数据进行可视化,目前主要是每天绘制交互地图,正在内测,地址是
更多功能正在增加中。很希望听到您的建议。
谢谢答复。我是 R 语言用户,每天自动从这个 api 读一次数据,保存成 R 语言直接读取的 .RDS 格式。R 语言用户可以直接读取:
# list 格式 readRDS(gzcon(url('https://github.com/pzhaonet/travis-ncov/raw/master/data/ncov.RDS'))) # tidyverse 格式 readRDS(gzcon(url('https://github.com/pzhaonet/travis-ncov/raw/master/data/ncov_tidy.RDS')))
也许这样可以帮您分流,减轻一点访问压力。
为了简便,我开发了个 R 语言包(简介),代替上面的代码,可以方便地从 .RDS (默认)或你的 api 读数据。使用方法是:
remotes::install_github('pzhaonet/ncovr') # 安装包 require("ncovr") #加载包 get_ncov() # 读 RDS数据 get_ncov(method = 'api') # 从您的 api 读取
如果 api 访问不了,我打算增加从您的 csv 文件读取数据的功能。
此外,我做了 个网站,对您整理的数据进行可视化,目前主要是每天绘制交互地图,正在内测,地址是
更多功能正在增加中。很希望听到您的建议。
万分感谢!我已经收录至README中方便其他人使用。有不少R语言的用户正在使用这个API,应该会有很大帮助!不太确定您使用的是什么环境,如果系统24小时运行,则可以将数据更新功能作为定时执行,并且定期推送至项目中。
API目前正在维护,可能会有1个小时左右的不可用时间,之后将会迁移至大陆的服务器,测试API调用时间缩短为500ms以内。
定时执行没问题!我用的是 travis-CI.org 的 cron 功能,目前每天定时自动推送一次,数据放在 github 上。我就是看到 travis 给我的错误提示才发现 api 无法访问的。
我看到 BlankerL/DXY-2019-nCoV-Data 项目里的 csv 文件格式跟 api 获取的格式不完全相同(例如把 city 一列的数据拎出来跟省合并了)。我的下游代码都是建立在 api 获取数据的基础上的,为了适应 csv 就得全部修改。要是 api 很快就能用的话,我就先不费事了,等等再说。
若是收进您的 README,可以链接到 R 包的项目吗https://github.com/pzhaonet/ncovr?我会在这个项目的 README 里更新使用方法。
谢谢!
定时执行没问题!我用的是 travis-CI.org 的 cron 功能,目前每天定时自动推送一次,数据放在 github 上。我就是看到 travis 给我的错误提示才发现 api 无法访问的。
我看到 BlankerL/DXY-2019-nCoV-Data 项目里的 csv 文件格式跟 api 获取的格式不完全相同(例如把 city 一列的数据拎出来跟省合并了)。我的下游代码都是建立在 api 获取数据的基础上的,为了适应 csv 就得全部修改。要是 api 很快就能用的话,我就先不费事了,等等再说。
若是收进您的 README,可以链接到 R 包的项目吗https://github.com/pzhaonet/ncovr?我会在这个项目的 README 里更新使用方法。
谢谢!
API已经迁移至大陆的服务器,麻烦尝试一下访问速度是否足够。目前我测试下来,调用/nCoV/api/area接口的平均加载时间大约在300ms左右。
已经在DXY-2019-nCoV-Crawler及DXY-2019-nCoV-Data的中英文README中链接至您的GitHub项目,本项目下收录的所有项目都会链接至对应的GitHub项目的。
R 语言比很多语言慢一点。我测试了一下,四个接口的时间在 300 ms 到 1 s 之间,非常满意!
> for (i in c("area", "overall", "news", "rumors")){
+ print(i)
+ start_time <- Sys.time()
+ ncov <- get_ncov('api', port = i)
+ end_time <- Sys.time()
+ print(end_time - start_time)
+ }
[1] "area"
No encoding supplied: defaulting to UTF-8.
Time difference of 1.103235 secs
[1] "overall"
No encoding supplied: defaulting to UTF-8.
Time difference of 0.3322718 secs
[1] "news"
No encoding supplied: defaulting to UTF-8.
Time difference of 0.3569241 secs
[1] "rumors"
No encoding supplied: defaulting to UTF-8.
Time difference of 0.35987 secs
R 语言比很多语言慢一点。我测试了一下,四个接口的时间在 300 ms 到 1 s 之间,非常满意!
> for (i in c("area", "overall", "news", "rumors")){ + print(i) + start_time <- Sys.time() + ncov <- get_ncov('api', port = i) + end_time <- Sys.time() + print(end_time - start_time) + } [1] "area" No encoding supplied: defaulting to UTF-8. Time difference of 1.103235 secs [1] "overall" No encoding supplied: defaulting to UTF-8. Time difference of 0.3322718 secs [1] "news" No encoding supplied: defaulting to UTF-8. Time difference of 0.3569241 secs [1] "rumors" No encoding supplied: defaulting to UTF-8. Time difference of 0.35987 secs
/nCoV/api/area
传输数据量较大,可能也会受到请求参数和网速的影响。
我已经在DXY-2019-nCoV-Data中定时推送JSON文件,防止API掉线之后大家的服务无法使用。
谢谢指点!
谢谢这个项目。非常有用。然而最近访问 api 总是出现 502 错误,不知是什么原因?