前言
最近,打卡APP需要这个数据,通过抓包后发现这个数据是固定的,获取很简单,但是数据太多,手动导入不显示,于是分析了json格式后果断通过脚本完成
分析
使用json解析工具对返回的响应数据,进行转义和格式化
部分代码:
由于接口隐私,这里不放了
<?php include 'api/conn.php';
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}// 设置 cURL 请求
$apiUrl = '';curl = curl_init(apiUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// 发送 cURL 请求并获取 JSON 数据
response = curl_exec(curl);if ($response === false) {
die("cURL 请求失败: " . curl_error($curl));
}curl_close($curl);
// 解析 JSON 数据
data = json_decode(response, true);if ($data === null) {
die("解析 JSON 数据失败");
}// 遍历数据并插入到数据库
foreach (data['data'] as group) {
foreach (group['schools'] as school) {
schoolId = school['school_id'];
schoolName = school['school_name'];// 插入数据到数据库 $sql = "INSERT INTO *** (school_id, school_name) VALUES ('$schoolId', '$schoolName')"; if ($conn->query($sql) === true) { echo "插入成功: $schoolName\n"; } else { echo "插入失败: " . $conn->error . "\n"; } }
}
// 关闭数据库连接
$conn->close();
?>
创建数据表
id自动,学校id和学校名给定类型和字长
运行效果
访问demo.php文件,大概等5秒左右即可
成功后如图: