2.工作要求: 现需要分析我国2021及2022年各地区教育数据,根据公司数据分析师确定后,需要采集的数据字段如下: 序号字段备注 1 统计年度 2 地区代码 3 地区名称 4 普通本专科学校数 单位:所,普通本专科学校 5 本科招生数 单位:人 6 专科招生数 单位:人 7 普通本专科学校毕业生数 单位:人,普通本专科学校 8 高等学校教职工数 单位:人,高等学校 9 中等职业学校数 单位:所,中等职业学校 10 中等职业学校毕业生数 单位:人,中等职业学校 请根据以上信息,使用python语言,进行自动化采集工作。要求选择下述采集方式中的任何一种: 方式一:调用公司数据接口进行数据采集,服务器地址为http://fdp.csmar.com:9923。接口定义如下: 查询操作接口名称说明 GET /api/v1/get_alltables 获取数据库下所有表名 GET /api/v1/get_tablefields 获取数据表的字段 POST /api/v1/query_table 查询数据 编写一个python采集代码
时间: 2024-04-02 15:34:53 浏览: 61
教育数据采集
好的,根据您的要求,我可以帮您编写一个Python代码来自动化采集数据。请确认您已经安装了requests库和pandas库。
```python
import requests
import pandas as pd
# 获取所有表名
def get_all_tables():
url = "http://fdp.csmar.com:9923/api/v1/get_alltables"
response = requests.get(url)
if response.status_code == 200:
return response.json()
else:
return None
# 获取表字段
def get_table_fields(table_name):
url = "http://fdp.csmar.com:9923/api/v1/get_tablefields"
payload = {"table_name": table_name}
response = requests.get(url, params=payload)
if response.status_code == 200:
return response.json()
else:
return None
# 查询数据
def query_table(table_name, fields):
url = "http://fdp.csmar.com:9923/api/v1/query_table"
payload = {"table_name": table_name, "fields": fields}
response = requests.post(url, json=payload)
if response.status_code == 200:
data = response.json()["data"]
return pd.DataFrame(data)
else:
return None
# 查询教育数据
table_name = "education_data"
fields = ["year", "area_code", "area_name", "normal_schools", "undergraduate_enrollment", "specialized_enrollment", "normal_schools_graduates", "college_teachers", "vocational_schools", "vocational_schools_graduates"]
df = query_table(table_name, fields)
# 输出结果
print(df)
```
以上代码中,我们首先定义了三个函数用于获取所有表名、获取表字段和查询数据。然后我们调用这些函数来查询教育数据表,并指定需要采集的字段。
最后,我们将采集到的数据存储在pandas的DataFrame中,并输出结果。您可以根据需要将数据保存到本地文件或者数据库中。
阅读全文