一、前提
刚开始接触C++/Qt是需要一个项目练练手,当时听说过OJ并且网络不好,就想着把数据获取下来随时使用。
后来代码写多了之后听说Python写爬虫更方便,可惜坑已经跳下去了,就一条路走到黑了。
这是我代码之路的第一个完整实现完整功能的项目,以示纪念。
github地址如下
https://github.com/JackeyLea/BlackWidow.gitgithub.com二、开发流程
1. 读取配置文件(数据库位置、皮肤名称)
2. 读取数据文件(网站名称列表)
3. 显示界面
4. 开启题库
5. 从第1题开始显示题目数据(题目ID、题目名称、提交人数、通过人数、题目)
6. 点击“显示提示”
7. 在提示文本框显示提示
8. 点击“显示答案”
9. 在答案文本框显示答案
10. 点击“下一题”
11. 如果大于max ID就显示显示第1题,否则显示下一题
12. 点击“上一题”
13. 如果小于1就显示最大ID的题目,否则显示上一题
14. 点击“爬虫”
15. 显示爬虫界面
16. 点击“网站名”下拉文本框,选择一个网站名
17. 清空爬虫界面数据
18. 点击“start”按扭
19. 加载json文件中其他数据(网址、开始ID、题目数据正则表达式、提交人数正则等、结束标志等)
20. 开始爬虫
21. 是否正常,是否结束等等,如果结束则跳转到35,否则继续
22. 拼接网址和ID,生成完整的当前网址
23. 获取网址的网页数据
24. 判断网页数据是否正常,如果包含结束