alexleotz/necta-results-scraper

此包提供了一个PHP脚本,允许您从坦桑尼亚国家考试委员会(NECTA)网站上抓取学生的成绩。

v1.0.0 2024-03-01 19:27 UTC

This package is auto-updated.

Last update: 2024-09-09 04:14:30 UTC


README

此包提供了一个PHP脚本,允许您从坦桑尼亚国家考试委员会(NECTA)网站上抓取学生的成绩。

安装

您可以使用Composer安装此包

composer require alexleotz/necta-results-scraper

使用

要使用此包,只需将学生四年级索引数字字符串作为参数调用NectaResultScraper类的静态result方法:假设您在父目录中有一个名为index.php的PHP文件,只需复制以下代码

<?php
require_once('vendor/autoload.php');

use NectaResultScraper\NectaResultScraper;

// Pass the index number string and the level as the arguments.
$result = NectaResultScraper::results('S1187/0142/2022', 'csee');
// or
$result = NectaResultScraper::results('S0310/0501/2023', 'acsee');
// or simply
$result = NectaResultScraper::results('S1187/0142/2022'); // level is 'csee' by default

// Output the result.
echo json_encode($result);

然后运行

php index.php

输出

输出是转换为JSON格式的学生成绩

  "gender": "F",
  "division": "IV",
  "points": "31",
  "subjects": ["CIV", "HIST", "GEO", "KIISLAMU", "KISW", "ENGL", "BIO", "MATH"],
  "subjects_grades": {
    "CIV": "F",
    "HIST": "D",
    "GEO": "F",
    "KIISLAMU": "F",
    "KISW": "C",
    "ENGL": "F",
    "BIO": "D",
    "MATH": "F"
  },
  "source": "https://onlinesys.necta.go.tz/results/2022/csee/results/s0596.htm"
}

验证

支持的考试格式为斜杠分隔和逗号分隔格式,例如,S1187/0142/2022或S1187.0142.2022。该包为您处理验证。

支持的年份

目前,我们支持从2003年至今的所有年份。

错误

如果找不到学生,将返回404状态码。对于任何其他错误,将返回500状态码。

如果您遇到以下错误

Could not find a version of the package alexleotz/necta-results-scraper matching your minimum-stability (stable). Require it with an explicit version constraint allowing its desired stability.

创建一个新的composer文件(如果不存在),并添加以下行

"minimum-stability": "stable"

然后,重新安装此包。

灵感

此包受到NECTA-API Python包的启发,该包由vincent laizer创建。

贡献

如果您想为此项目做出贡献,请分叉存储库并使用功能分支。欢迎提交拉取请求或拨打0748333586寻求个人支持和聊天!

许可证

此包在MIT许可证下发布。有关详细信息,请参阅LICENSE。