第二次结对编程作业

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

作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018SE1/homework/11250
作业目标 学会利用java爬虫网页数据
作业源代码 https://gitee.com/yemingpu/pair
队员1 211806358
队员2 211806317
代码行数 124行
需求分析时间 1h
编码时间 8h

各自的感受:

  • 叶明浦:书到用时方恨少,到了现在需要编程代码的时候才发现自己不会的还有很多,在实现编程代码的时候
    有许多的问题需要解决。自己还需要学习更多的知识才可以。

  • 郭炜:自己对java代码的编写本来就不怎么熟悉,现在又要开始自己学习新的代码知识,感觉真的头疼呀。
    加上自己有一些拖延症,到后面才发现时间不够了,害!

对对方的评价:

  • 叶明浦:已经是第二次组队了,现在也熟悉了,虽然在这个代码这块都不怎么好,但一起加油吧。多找一些
    时间学习一下这次不会的爬虫知识。

  • 郭炜:叶明浦对代码这块还是蛮厉害的,不够没有学习过爬虫,这次并不理想,不过没关系,我们一起加油
    学习这个新的知识吧。

结对的照片:


代码思路分析:

1.进入主网页:

  • 需要先获取网页的地址和进入该地址的cookie。在需要进入的网页登入后按f12,如下图所示找到cookie。

  • 然后放入配置文件,根据Properties prop = new Properties();
    prop.load(new FileInputStream("./resources/config.properties"));
    Document doc = Jsoup.connect(prop.getProperty("url")).header("Cookie", prop.getProperty("cookie")).get();
    代码便可以进入网页进行解析,由于cookie值是会变的,所以每过一段时间需要重新修改cookie值。

2.进入各个活动的网页:

  • 普通的java提取网页数据比较麻烦,因此需要导入Jsoup包进行数据提取会更加的方便。
  • 可以通过getElementsByClass("interaction-row")来获取主网页的各个活动的网页代码。

3.数据的提取:

  • 通过jsoup的get和select找到数据所在节点和数据旁的便签来爬需要的数据,
    不够因为对爬取数据不熟悉,我对张榕城的代码有一定的借鉴。

4.存入文件:

  • File txt = new File("score.txt");新建一个文件
  • PrintWriter writeit = new PrintWriter(new FileWriter(txt));和writeit.print
    可以讲数据存入文件。除了PrintWriter方法外还可以使用BufferedWriter也是可以的
  • 存完数据后要将writeit.close.

5.输出结果:


总结:

  • 对于文件的解析我并不是很了解,又没有去认真的学习过,参考了其他同学的资料后其实也不是很懂。
    只明白了登入页面需要使用的cookie获取和主网页代码的获取,但里面的特定数据爬取其实还是很迷茫。
  • 本来想要使用map集合的,因为map集合在数据的处理会更加的方便。但由于map集合的很多规则和方法
    已经记得不清楚了,就使用了数组。
  • 代码最后其实还是爬取失败了,我想我需要去好好的学习一下java爬虫的知识了。

参考资料:


https://gitee.com/RongC_Zhang/pair
https://www.cnblogs.com/jamaler/p/11645569.html
https://search.bilibili.com/all?keyword=java%E7%88%AC%E8%99%AB&from_source=nav_search_new

posted @ 2020-10-04 18:37  叶之默  阅读(142)  评论(0编辑  收藏  举报