如何使用R编程来检查cowin网站的疫苗名额?

125 阅读2分钟

在这篇文章中,你将看到如何使用R编程来检查cowin网站上的疫苗插槽。这篇文章主要是针对印度居民的,因为cowin网站是为印度国民预订疫苗接种名额的。

cowin API互动的软件包可以让你在你的地区找到接种疫苗的名额。Cowin API有限制--它允许每个IP每5分钟最多有100个请求。如果超过了速率限制,你的IP地址可能会被封锁。

安装

你可以使用下面的命令从github上安装该软件包

# install.packages("devtools")
devtools::install_github("deepanshu88/cowin")

一旦你完成了安装,请加载该软件包。

library(cowin)
library(dplyr)

提取州的列表

df.States <- extract_states()

它将返回状态名称和状态ID。

head(df.States)
states.state_id	states.state_name
1	Andaman and Nicobar Islands
2	Andhra Pradesh
3	Arunachal Pradesh
4	Assam
5	Bihar
6	Chandigarh

获取某一特定邦的地区

你需要在函数中传递州的IDextract_districts(state_id) 州的ID可以从extract_states() 函数中获取。在下面的例子中,州ID 16代表卡纳塔克邦。

df.District <- extract_districts(16)

获取印度所有州的地区

这个函数循环浏览所有的州,并根据它们获取地区。

df.Districts <- extract_districts_all(df.States)

某一地区从今天起7天内的疫苗接种时段

你需要在该函数中传递地区ID。地区ID可以从extract_districts_all() 函数中获得。

slots <- slots_district(df.Districts[1,1])

给定地区从今天开始的7天内的疫苗接种时段

默认情况下,date 是今天的日期。你可以改变它。

slots <- slots_district(df.Districts[1,1], date = Sys.Date()+7)

slots_district()和slots_pincode()的清洁输出

age_limit 参数中,你可以输入18代表18岁以上,45代表45岁以上。默认情况下,两者的组合

slots2 <-  slots_cleaned(slots)
slots2 <-  slots_cleaned(slots, age_limit = 45)

多个地区的疫苗插槽

district.ids <- c(1,3)
slots.all <- slots_district_all(district.ids)

从某一特定日期起7天内的疫苗接种时段,在某一特定地点的疫苗接种时段

在这个函数slots_pincode(pincode) ,你需要输入6位数的pincode。

slots.pincodes <- slots_pincode(201301)
slots.pincodes2 <-  slots_cleaned(slots.pincodes)
slots.pincodes2 <-  slots_cleaned(slots.pincodes, age_limit = 45)

多个针孔码的疫苗插槽

slots.all <- slots_pincode_all(pincodes = c(201301,110032))