alexleotz / necta-results-scraper
此包提供了一个PHP脚本,允许您从坦桑尼亚国家考试委员会(NECTA)网站上抓取学生的成绩。
v1.0.0
2024-03-01 19:27 UTC
Requires
- php: >=7.0.0
- symfony/browser-kit: ^6.2
- symfony/css-selector: ^6.2
- symfony/http-client: ^6.2
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。