第二次结对作业:班级成绩表

作业要求 作业要求链接
作业目标 <通过网络爬虫得到数据,进行想要的计算后,将结果作为txt文件输出>
作业源代码 码云仓库地址
陈洁 <211806305>
蒲子怡 <211806400>

过程记录

需求分析时间 2h
编码时间 3h
代码行数 272

结对过程

       在这次的结对编程中,由于有了上一次结对作业的经验,合作起来默契了许多。相较于上一次结对作业效率方面有了很大的提升。在结对过程中分工合作,我们互相学习,交流,讨论,更加熟悉了解了在队伍中要做什么,如何做。在编程过程中不太会的地方借鉴了同学的代码,特别是桂莺同学。也向桂莺同学资讯了很多问题,桂莺同学也很耐心的帮我们解答。

对对方的评价

  • 陈同学对蒲同学的评价:
           蒲子怡同学,严重的拖延症患者,但是在我积极的情绪带动下,她终于打开了电脑。在写代码的过程中,我时常心态大崩,在蒲子怡同学的关怀下,我很快就调整过来。这么说起来,我们俩着实算得上是性格互补。
  • 阿蒲对老陈的评价:
           抱住老陈同志的大腿,在讨论和编程的过程中,咱们积极的互相讨论,我比较拖,老陈同志比较快,但在心态崩的时候都能够把对方拖回来,编程时,写博客时相互调和。

需求分析

       网络爬取云班课的数据,爬取云班课上全班同学的课堂完成部分的经验值,根据经验值和学号进行排序,然后以文本文件输出最高经验值、最低经验值、计算出平均经验值以及排序后的全班同学的学号、姓名、经验值。最后通过 Git 将代码文件上传到远程码云仓库上。

编码过程

我们根据老师发的关于应对爬虫遇到需要登录的网页的办法的博客资料进行了初步尝试


这次的代码需要直接通过网络爬取云班课的数据,所以我们需要的到url与从cookie的信息

  • 查找并保存小班课的url和cookie,将他保存在配置文件内

    • url:
    • cookie:
  • 使用Properties的getProperty()方法读取配置信息,并用URL和COOKIE接住他,我们把这个方法封装在getResources里。

  • 得到全班同学课堂完成部分的成绩,包含学号、姓名、经验值,首先我们需要得到关于课堂完成部分的链接,通过观察可以发现可以从data-url的这个属性获取

以下是获取所有课堂完成部分的url的代码:

  • 通过类选择器homework-item得到每个同学的学号,姓名,经验值,得到一个学生列表

  • 用得到的学生列表进行最高分,最低分,平均值的计算

    • 首先用Collections工具类的sort静态方法,对newStudentList进行排序
      • Student类的compare方法:
      • 在Team类进行排序:
    • 在写入txt文件时计算最高分,最低分,平均值
  • 将得到的数据写入score.txt文件中

  • 得到的txt文件:


commit修改信息

结对照片

结对感受

       有了第一次结对的经验,对这次的结对作业也有了很多帮助,这次的作业有用到很多新知识和上学期的java知识,我们分工合作,在学习完新知识,复习了旧知识后,互相讨论,查缺补漏,也很慢慢解决了一些不理解的地方,有队友的帮助让学习的过程少走了很多弯路,知识理解起来明了。在编写过程中也向老桂莺同志寻求了很多帮助,感谢老桂莺同志深夜帮我们改代码。而且知识不实践,不复习真的很容易忘,之后我们在学习新知识的同时也得好好的把之前的知识好好的补上。

参考资料

Java 爬虫遇到需要登录的网站
Java 网络爬虫系列文章的第一篇

posted @ 2020-10-04 11:57  来日可期Cy  阅读(234)  评论(0编辑  收藏  举报