第二次结对作业:班级成绩表
| 作业要求 | https://edu.cnblogs.com/campus/fzzcxy/2018SE1/homework/11250 |
| ---- | ---- | ---- |
| 作业目标 | 爬取云班课堂经验值,完成经验值排序,算出平均经验值,最低经验值,最高经验值 |
|作业源代码 | https://gitee.com/fdzcsunming/pair/tree/master/Text_02_zaixianpachong |
|队员1 |孙铭211806402 |
|队员2 | 辜智博211806380|
自我介绍!
我是软件工程专业的孙铭,平时喜欢听听音乐晚上跑跑步。喜欢追求新鲜感,有时候会和舍友激情开黑几局。
我是软件工程专业的辜智博,平时喜欢打游戏,论游戏、追番只有你想不到没有我没玩过的游戏,和没追过的番。
结对的过程
结对的感受
孙铭:这次的题目是利用cookies模拟登陆,获取非本页面HTML的元素并对其进行爬取。由于是第一次进行模拟登陆爬取数据,知道需要获取cookies和url但是并不清楚获取的是登录界面的url和cookie还是自己登录成功后的cookie和url对此再次感到自己知识的匮乏。于是经过几天的搜查资料,观摩已完成同学的代码和思路,逐渐对爬虫有了一个较为立体的认识。但是代码知识浅薄问题多不胜数,代码千疮百孔。最后借鉴王冰炜同学、陈颖鹏同学的代码在同学陈颖鹏的代码为基础的情况下,进行理解查阅api各种方法后,弄清弄懂再进行独立编写代码
对对方的评价
孙铭:在代码方面我们两个半斤对八两,都是菜鸡俗话说三个臭皮匠也能顶一个诸葛亮,两个人至少也能顶一个残疾诸葛亮吧,经过互相查询资料在一起分享查到资料,尝试各种方法所说没能写出代码但是至少对于java爬虫有了进一步的了解了。希望在后面的合作中完成新的任务。
辜智博:
结对照片
自己的代码行数
需求分析时间30min,查询资料时间:3天编码时间:1天
分解需求思路
1.配置文件
* 将网址URL与登陆所需的cookies信息放在Properties文件里供Properties类进行调用里面的信息
在网页上查看cookie和URL
**
2.通过获取cookies模拟登陆进入活动页面获取html信息
3.通过获取所有的HTML信息获取每个同学的URL,获取后需要通过创建表单进行存储/font>
4.对每个url爬取每一个学生的课堂完成部分的经验值进行累加后创建学生表将所爬取的数据存入<(因为所需的结果是需要通过经验值进行排序的所以使用Treemap,因为Treemap有序)
5.因为treemap有序自动对存储的进行排序,即表头为最高分,表尾为最低分
6.将所统计的分数通过file类存入txt文件中
不会的知识
1、此次爬虫是因为账号登陆成功获取到里面的活动,才爬取到所需的信息,如果是没有登录账号呢?
2、如何合并两个Map表?
3、jsoup如何只在个人活动页面获取到同学的信息的?
4、httpclient与jsoup的区别在哪,那个更方便更实用更不容易违反法律
最后的结果
3次提交
git命令对源码进行管理
参考资料:
1、https://www.open-open.com/jsoup ----jsoup api地址
2、http://java.mobiletrain.org/jiaocheng/45862.html ---- Jsoup实现简单的爬虫技术
3、https://blog.csdn.net/fjssharpsword/article/details/51480475 ----比较htmlunit与jsoup爬虫的方法
4、https://jsoup.org/cookbook/extracting-data/dom-navigation ----使用DOM方法浏览文档
5、https://www.cnblogs.com/williamjie/p/9099130.html
6、https://www.cnblogs.com/hiwoshixiaoyu/p/10034913.html ----如何写出漂亮的博客
7、https://www.cnblogs.com/williamjie/p/9099130.html ----Java中HashMap和TreeMap的区别深入理解
8、http://java.mobiletrain.org/jiaocheng/45862.html ----Java教程之使用Jsoup实现简单的爬虫技术
9、https://blog.csdn.net/w605283073/article/details/82987157 ----Java8合并两个Map中元素的正确姿势
10、https://www.runoob.com/java/number-compareto.html ----Java compareTo() 方法
11、https://www.cnblogs.com/Icarus52/p/13754195.html
12、https://www.cnblogs.com/211806342wbw/p/13747783.html