第一次个人编程作业:我的分数我做主

博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE2
作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018SE2/homework/11169
作业目标 <建立本地仓库与码云仓库的链接、并从本地提交代码到码云,用org.jsoup解析网页文件/配置文件、掌握提取网页元素的方法>
作业源代码 https://gitee.com/shi-yunfeng/personal
学号 <211806340>
代码简介
代码行数 125行
---------- --------------------------------------
需求分析时间 2小时
预计编码时间 24小时
实际编码时间 12小时

解题思路

  • 主要分为解析文件部分、网页元素(经验值)提取部分、计算输出部分。
  • 难点在于如何从网页中提取经验值元素,需要将网页文件解析成document才能进行操作。
  • 提取元素的步骤:F12查看网页源代码,找到元素所在的盒子,以该盒子为根节点,用child找到包含经验值的项。
  • 将提取的元素逐步累加形成每项题型的经验值,进行权重计算后输出最终得分。

学习过程
1、git配置过程
邮箱不可勾选不公开我的邮箱地址,否则在执行git push时,会发生错误如下:

remote: Powered by GITEE.COM [GNK-5.0]
remote: error: GE007: Your push would publish a private email address.
remote: You can make your email public or disable this protection by visiting:
remote: https://gitee.com/profile/emails
remote: error: hook declined to update refs/heads/master
To https://gitee.com/name/personal.git
 ! [remote rejected] master -> master (hook declined)
error: failed to push some refs to 'https://gitee.com/name/personal.git'

2、编码过程
着手这样的题目对我来说非常困难,感谢走在前面的同学,我尽量解读了其他同学的代码,但还是有不理解的地方。看不懂的都查了一下,但是也有查不到的。仍然非常困惑,但是同学们写的好。
contains(),该方法是判断字符串中是否有子字符串。如果有则返回true,如果没有则返回false。
Element 节点名 = document名.getElementsByAttributeValue("class", "class类名").get(i);,从document名中提取第i个class=class类名的根节点,命名为节点名
节点名.child(n),节点的第n个孩子,同理可得孩子的孩子(可能吧,没找到准确描述,我猜的^ ^)

参考资料
File的相对路径和绝对路径 https://blog.csdn.net/Small_CuteOrange/article/details/104329061
document的一些简单方法 https://blog.csdn.net/xyw_blog/article/details/9159857
解析文件/提取元素详解 https://blog.csdn.net/cuishouming/article/details/81164410 我认为这个是对难点受用最大的,很全面。
jsoup的Element类的方法 https://blog.csdn.net/u010682330/article/details/81805468 我试图用里面的方法提取网页元素,然而并不行呢^ ^

总结
困难的原因是对各种方法的不熟悉甚至不知道。怎么在众多方法中找到适合解题类和方法是重点,希望老师以后可以给点提示之类的,不然真的太难下手了。
如果有不正确的地方希望大家指出。

posted @ 2020-09-14 11:48  艾卡西亚  阅读(154)  评论(2编辑  收藏  举报