道家人 发表于 2024-6-25 21:02:46

抓包习讯云院校数据通过PHP剖析导入数据库

https://img-blog.csdnimg.cn/2e934b15503b478fa9984645a034be10.png
前言

近来,打卡APP需要这个数据,通过抓包后发现这个数据是固定的,获取很简朴,但是数据太多,手动导入不显示,于是分析了json格式后果断通过脚本完成
【推荐】

[*]《【MQTT】Esp32数据上传收罗:最新mqtt插件(支持掉线、真机调试错误等问题》
[*]《一篇就够:uniapp-Mqtt系列问题具体攻略(解决掉线、真机调试错误等问题)》
[*]《解决微信小程序MQTT真机连接问题与合法域名设置SSL问题》
[*]《解决微信小程序MQTT通讯真机调试失败的问题附加可用代码》
[*]《Esp8266-01s、51单片机实现连接MQTT踩坑:附加烧录安信可固件+宝塔搭建MQTT服务器 全套攻略》
分析

利用json剖析工具对返回的响应数据,进行转义和格式化
https://img-blog.csdnimg.cn/0153e8049bef4285a31a3828e73336bd.png
部分代码:

由于接口隐私,这里不放了
<?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和学校名给定类型和字长
https://img-blog.csdnimg.cn/0cdbc2ad0f0b4e158c74027b79dc75a4.png
运行结果

访问demo.php文件,大概等5秒左右即可
https://img-blog.csdnimg.cn/2e934b15503b478fa9984645a034be10.png
成功后如图:
https://img-blog.csdnimg.cn/a503ba6137084e8eb0e47fd8a00cdc54.png
页: [1]
查看完整版本: 抓包习讯云院校数据通过PHP剖析导入数据库