📅  最后修改于: 2023-12-03 15:23:27.258000             🧑  作者: Mango
Covin 是一个由Indian Government开发的接口,它提供了关于Covid-19疫苗的可用性的实时数据。在本文中,我们将介绍如何使用Covin API在Python中跟踪疫苗槽的可用性。
在使用 Covin API 之前,我们需要获取API Key。以下是获取API Key的步骤:
1.访问 https://dashboard.cowin.gov.in/ 并登录到您的帐户。 2.转到“API 超级管理员’’部分并单击“生成新的 API 密钥”按钮。 3. API 密钥将被发送到您的邮箱中。
我们需要安装 Python 中的 requests 模块。您可以在命令行中使用以下命令安装它:
pip install requests
下面是一个示例 Python 脚本,用于检查 Covid-19 疫苗槽的可用性:
import requests
import datetime
# 手动指定日期
date = datetime.datetime.today().strftime('%d-%m-%Y')
url = 'https://cdn-api.co-vin.in/api/v2/appointment/sessions/public/calendarByDistrict'
district_id = 'xxx' # 替换成您的地区ID
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36", 'Accept-Language': 'hi_IN'}
CURRENT_DATE = datetime.datetime.today()
def fetch_data_from_cowin(district_id, date):
query_params = "?district_id={}&date={}".format(district_id, date)
final_url = url + query_params
response = requests.get(final_url, headers=headers)
return response.json()
def is_available(session):
return session['available_capacity'] > 0
def print_center(center, sessions):
name = center['name']
pincode = center['pincode']
fee_type = center['fee_type']
print('\n\nName: ' + name)
print('Pincode: ' + str(pincode))
print('Fee Type: ' + fee_type)
for session in sessions:
if is_available(session) and session['min_age_limit'] < 45:
print(session['date'])
print(' Available Capacity: ' + str(session['available_capacity']))
print(' Vaccine: ' + session['vaccine'])
data = fetch_data_from_cowin(district_id, date)
for center in data['centers']:
sessions = center['sessions']
if is_available(sessions):
print_center(center, sessions)
在代码中,我们首先使用 requests
模块从 Covin API 中获取数据然后判断疫苗槽是否可用,然后依次打印该中心的名称,邮政编码,收费类型以及可用的疫苗槽数。
请注意,你需要将 district_id
替换为您所在地区的 ID,您可以在 Covin API 官方网站上找到相应的 ID。
另外,我们还可以手动指定日期,也就是将 date
变量指定为您要检查可用性的日期。
执行脚本后,您将看到类似于以下屏幕截图的输出:
Name: ABC Hospital
Pincode: 123456
Fee Type: Paid
12-05-2021
Available Capacity: 5
Vaccine: COVISHIELD
Name: XYZ Clinic
Pincode: 654321
Fee Type: Free
12-05-2021
Available Capacity: 20
Vaccine: COVAXIN
以上是通过Covin跟踪 COVID-19疫苗槽的简单Python脚本。您可以使用此方法定期检查可用性,提供更安全的健康解决方案。
转载自 DataCamp中文社区。