2023秋软工实践个人作业二
| 这个作业属于哪个课程 | 2023秋-福州大学软件工程 |
|---|---|
| 这个作业要求在哪里 | 2023秋软工实践个人作业二 |
| 这个作业的目标 | 通过难度与关键词在洛谷爬取相关的前50道题目以及对应的第一个题解,同时保存为markdown形式,并按要求保存在相关文件夹下,同时编写单元测试进行测试,并将项目放在github上;结合过程中利用的AIGC完成表格;运用PSP表对任务进行分解 |
| 学号 | 102102105 |
一、将项目放到github仓库,在博客中提交github仓库链接。
GUI页面:可以通过自己选取关键词与难度进行爬取数据

爬取结构的存放:文件夹以及markdown文件



markdowm文件展示


二、介绍项目的前端,特色的功能,以及完成项目中所用的技术、特殊的算法(实现思路)等等,可以用图表的形式展现。
反爬:更改请求头信息:有些网站通过检查请求的User-Agent等HTTP头部信息来判断是否是爬虫。可以尝试修改User-Agent信息以模拟正常浏览器的访问。使用编程语言的网络请求库时,通常可以在请求中设置自定义的User-Agent。

解码:此次题解需要解码 因此使用urllib.parse.unquote()进行解码

GUI页面:通过Tkinter库制作相应 关键词与难度可以选择也可以自己输入 同时增加了爬取的实时情况与实时更新



题目存在非法字符导致保存失败 在保存之前 进行字符转换

三、单元测试
单元测试的目的是隔离和测试程序的最小可测试单元,以便快速定位和修复问题。通过编写针对每个模块的测试用例,并在对代码进行更改或新增功能时运行这些测试用例,开发人员可以确保其代码的正确性和可靠性。
我通过编写一个减法函数进行测试,最终返回ok,表示测试单元在测试过程中表现正常,符合预期的行为。
测试样例

测试结果

三、AIGC表格
| 子任务 | 预估哪些部分使用AIGC | 实际中哪些部分使用AIGC |
|---|---|---|
| GUI设计 | 之前学过Java的GUI 觉得Python应该自己也行 不需要用到太多AIGC | 真的自己写的时候全忘记了 大致框架运用了AIGC 细节自己处理 |
| 题目的爬取与存储 | 学过一点点爬虫 应该在保存格式上比较需要 爬取题目应该不太需要 | 洛谷有反爬机制 还是得求助AIGC解决这个问题 以及markdown形式的保存 |
| 题解的爬取与存储 | 题解的解码 | 题解的解码以及利用cookie |
| 单元测试 | 单元测试代码的框架 | 单元测试代码框架以及一些报错的解决 |
四、你学会了什么内容?有什么心得体会?
这次学到的东西很多!爬虫、反爬、解码、GUI页面的制作、最基本单元测试,这次的爬虫作业让我快爬不动了。在没有任何爬虫基础的情况下,爬取会反爬以及加密的网站,还有周末两天建模的压力以及其他作业的ddl,感受到了一次又一次的崩溃。最开始一道题也爬不下来,一堆搞不懂的报错;到后来经常性的302,爬多少题看它心情;接着为了找题解的标签,已经快把超级玛丽的第一个题解的源码看烂了,最后终于找到了script!!!这次学到的除了知识还有崩溃与破防,不过话写到这里作业也快完成了。
通过这次作业,发现自己会的真的好少,努努力多学一点吧,希望以后别再这么艰难了!!
五、运用PSP表格对任务进行分解,记录预估耗时和实际耗时。评价这次个人作业的完成过程和最终效果:哪里做的好,哪里还可以改进?
| PSP | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | 20 | 10 |
| · Estimate | · 估计这个任务需要多少时间 | 960 | 720 |
| · Analysis | · 需求分析 (包括学习新技术) | 480 | 240 |
| · Design Spec | · 生成设计文档 | 60 | 40 |
| · Coding | · 具体编码 | 360 | 450 |
| · Test | · 测试(自我测试,修改代码,提交修改) | 60 | 30 |
| · Test Repor | · 测试报告 | 30 | 20 |
| · 合计 | 1010 | 790 |
附加题
以图表(或其他形式)显示实时爬取情况,如吞吐量等

爬取题目在前端显示 每爬取一道题目会实时更新并显示爬取的题目数以及题目编号 同时实时显示爬取题目数与爬虫进程的图表

...全文
相关推荐
2023年免费在线作业答案吉大秋学期单片机原理及应用在线作业二满分答案.doc
2023年免费在线作业答案吉大秋学期单片机原理及应用在线作业二满分答案.doc
2023软工S2第6组.zip
【描述】"2023软工S2第6组.zip"的描述简洁明了,没有提供具体的内容细节,但我们可以推测这可能是一个教育场景中的团队作业或项目。
2023年北交计算机安全与保密在线作业二秋答案.doc
2023年北交计算机安全与保密在线作业二秋答案.doc
2023年西南交秋学期计算机图形设计离线作业二附答案.doc
2023年西南交秋学期计算机图形设计离线作业二附答案.doc
2023年秋计算机基础作业答案.pdf
2023年秋计算机基础作业答案.pdf


