经过几个月在v2
分支咕咕咕的更新再加上不考半期这几天中午的爆肝(颓废),我终于在今天完成了AC的第二版。
项目地址: Llf0703/Anti-Cheating
下载最新版: Release v2.0
在这里就讲讲主要思路什么的吧。
主要思路
- 从搜索引擎爬取搜索关键字下的代码
- 从OJ的比赛页面爬取选手提交的满分代码
- 在本地进行比对
实现
- 把原版改了一点,将代码保存在
data/
里 - 拿JXOJ开刀,爬取比赛页面,因为是JS加载表格所以我只好用
Senlenium
来辅助完成 - 本地直接遍历所有文件(四重循环),然后调用
sim
把结果输出到result.txt
里面就行了 - 删除所有临时文件和文件夹
坑
- UOJ用JS异步加载排行榜,遂用
Senlenium
- 最开始不知道怎么保存链接,后来想反正
sim
会忽略注释,干脆就把它写在第一行注释里,并且自己加了些标识符方便匹配。
TODO
- 代码及性能优化(感觉
Senlenium
超麻烦啊qwq) - 更多搜索引擎兹磁
- 更多OJ,计划是先完成LOJ,毕竟其它OJ不开放记录比较麻烦。