当前位置: 首页 > news >正文

知己知彼网站广州互联网

知己知彼网站,广州互联网,宁津网站开发,网站建设营销开场白Java爬取赛事网站 Java爬取赛事网站Java爬取赛事网站参与社区的问题回答Gitcode项目地址PSP表格解题思路描述问题接口设计和实现过程编写中的测试关键代码展示性能改进单元测试异常处理心路历程与收获参与社区的问题回答 问题回答这个作业属于哪个课程软件工程-23年春季学期这…

Java爬取赛事网站


在这里插入图片描述


Java爬取赛事网站

  • Java爬取赛事网站
    • 参与社区的问题回答
    • Gitcode项目地址
    • PSP表格
    • 解题思路描述
      • 问题
    • 接口设计和实现过程
      • 编写中的测试
    • 关键代码展示
    • 性能改进
    • 单元测试
    • 异常处理
    • 心路历程与收获


参与社区的问题回答

问题回答
这个作业属于哪个课程软件工程-23年春季学期
这个作业要求在哪里软件工程实践第二次作业—文件读取
这个作业的目标完成对澳大利亚网球公开赛相关数据的收集,并实现一个能够对赛事数据进行统计的控制台程序
其他参考文献

Gitcode项目地址

点击这里前往查看源码

在这里插入图片描述
运行🛠️

Java -jar AOSearch.jar input.txt output.txt


PSP表格

PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划3090
• Estimate• 估计这个任务需要多少时间3090
Development开发570630
• Analysis• 需求分析 (包括学习新技术)12060
• Design Spec• 生成设计文档6060
• Design Review• 设计复审6090
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)3010
• Design• 具体设计6090
• Coding• 具体编码180180
• Code Review• 代码复审3030
• Test• 测试(自我测试,修改代码,提交修改)3030
Reporting报告9090
• Test Repor• 测试报告3030
• Size Measurement• 计算工作量3030
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划3030
total合计690810


💡

解题思路描述

  1. 获取有关网站中 : players,results 的相关json 数据

实现: 开发者工具,监听页面加载的网络请求,找到json,通过预览确定是哪个文件

在这里插入图片描述

问题

players出现和results一开始出现问题,监听中没有出现

采用 jsoup,爬取网页页面里面的内容,就可以找到源地址,然后再打开

在这里插入图片描述



接口设计和实现过程

把所有的json放在一个文件夹,然后通过fastjson, 在Lib.java 工具类里面去访问

实现: 举例:players.json的调用

在这里插入图片描述


编写中的测试

设置 项目调试配置,构建并运行,主函数 args的 arg[0],arg[1]

在这里插入图片描述



关键代码展示

outFile 循环输出到 output文件

    public void outPutAllPlayers(BufferedWriter bw) {try {allPlayers temp = getAllPlayers();int num = Integer.parseInt(temp.getAllPlayersNums());System.out.println(num);for (int i=0;i< num;i++) {allPlayers.Players tempMedals=temp.playersList.get(i);bw.write("full_name"+tempMedals.getFull_name()+"\n");bw.write("short_name:"+tempMedals.getShort_name()+"\n");bw.write("gender:"+tempMedals.getGender()+"\n");bw.write("Birth_place:"+tempMedals.getBirth_place()+"\n");bw.write("coach:"+tempMedals.getCoach()+"\n-----\n");}bw.close();}catch (IOException e) {e.printStackTrace();}}

读取 Json 文件

    /*** @param fileName:* @return str* @ClassName: readJsonFile* @author 14533* @description TODO* @date 2023/2/26 14:52*/public static String readJsonFile(String fileName) throws FileNotFoundException {String str="";FileInputStream inputStream = new FileInputStream(fileName);try {int ch=0;BufferedReader br = new BufferedReader(new InputStreamReader(inputStream,"utf-8"));StringBuffer sb = new StringBuffer();try {while ((ch=br.read())!=-1) sb.append((char)ch);br.close();str=sb.toString();return str;}catch (IOException e) {e.printStackTrace();return null;}}catch (UnsupportedEncodingException e) {e.printStackTrace();return null;}}

性能改进

共计 788 个选手信息,包括大量的图片信息,创建java类,先json读取指定json内容然后再返回

class allPlayers {private String players;public List<Players> playersList;/*** @ClassName Players:* @author 14533* @description TODO* @date 2023/2/26 14:21*/public static class Players {private String full_name;private String short_name;private String gender;private String birth_place;private String coach;public Players() { }/*** @param fullname:* @param shortname:* @param sgender:* @param birthplace:* @param coachs:* @return void* @author 14533* @description TODO* @date 2023/2/26 14:29*/public void setPlayers(String fullname, String shortname, String sgender, String birthplace, String coachs) {full_name = fullname;short_name = shortname;gender = sgender;birth_place = birthplace;coach = coachs;}public String getFull_name() {return full_name;}public String getShort_name() {return short_name;}public String getGender() {return gender;}public String getBirth_place() {return birth_place;}public String getCoach() {return coach;}}/*** @param total:* @param listPlayers:* @return null* @author 14533* @description TODO* @date 2023/2/26 14:31*/public allPlayers(String total, List<Players> listPlayers) {players = total;playersList = listPlayers;}public String getAllPlayersNums() { return players; }
}

单元测试

junit 选择test用例

列举:

测试 查询比赛中的选手的信息如果没有选手系统会不会出错

    @Testpublic void whichPlayerTestNull() {boolean flag = false;JSONArray winners = null;JSONArray uuids = JSONArray.parseArray("['240324-69652871-6852368']");for(int i = 0; i < uuids.size(); i++) {flag = true;}assertTrue(flag);}@Testpublic void whichPlayerTestEmpty() {JSONArray winners = null;JSONArray uuids = JSONArray.parseArray(null);for(int i = 0; i < uuids.size(); i++) {flag = true;}assertTrue(flag);}

两个测试类,用判断是否能进去for做断言的结果

情况结果
传入的选手uuid不在选手列表循环继续但return不输出结果
传入null,表示没有获取到uuid循环不继续,程序直接退出

调整

循环结果强制退出输出 null

for循环前判断 uuids.size() 长度 == 0 跳过循环输出 error


异常处理

  1. 文件读取都添加了,文件读取不到的异常处理

FileNotFoundException

  1. 对付无法转义,阻止程序出现编译失败

UnsupportedEncodingException

  1. 其他的没发现,统一有问题就直接捕获

IOException


心路历程与收获

  1. 对Java类的相互引用,封装,测试有了更深的了解
  2. 学会了运用 fastJson调用json文件
  3. 学习了阿里巴巴代码编写规范后,对企业级编码的规范有了了解,也发现这样写代码最后检查也更加方便
  4. 优化了Idea的自定义注释
  5. 对先打代码还是先写计划有了体会,在计划会省去很多不必要的边写边改的过程,而且可以在编写之前解决大部分对代码不熟悉的部分,减轻过程中因为知识受限造成的问题
  6. 单元测试不是很明白
  7. 总的来说:掌握了 fastjson,junit,Lib类编写,主函数调用这样的方式。还有在测试和总结和收集数据方面的欠缺。

在这里插入图片描述

http://www.yayakq.cn/news/889843/

相关文章:

  • 网站建设色彩搭配有口碑的江苏网站建设
  • dede网站地图模版ui设计课程内容
  • html5手机网站适配西安网站优化
  • 外贸网站主机选择办宽带需要多少钱一月
  • 网站搭建功能需求做外贸网哪些网站免费
  • 太原市手机微网站建设网站背景图片素材 唯美
  • 财税公司做网站哈尔滨最新信息
  • discuz做视频网站wordpress播放优酷
  • 安卓蓝牙app开发教程东莞seo外包公司哪家好
  • html企业网站实例嘉兴建站软件
  • 网站品牌推广策略wordpress 表格不显示线
  • 邢台建站discuz网站名称
  • 长沙做四维彩超玛丽亚m网站网站如何做数据分析
  • 网站视频怎么下载到本地网站做戒酒通知书
  • 个人做的网站百度搜索不到ecto wordpress
  • 网站功能需求说明网站多个页面要加引导
  • 网页设计与网站建设考试名词解释2019邯郸手机网站开发价格
  • 用html5设计个人网站做营销网站要多少钱
  • 深圳的设计网站大全wordpress 插马
  • 网站做推广应该如何来做呢哪里推广软装设计培训班哪家好
  • 做网站推广代理wordpress建站wifi
  • 书画艺术网站建设网站 空间 租用
  • 写好网页怎么建成网站九一人才网招聘网官方网站
  • 编程和做网站那个号中资源的 域名管理网站
  • 建材手机网站游戏推广招聘
  • 手机网站相关营销型网站建设优势
  • 做招聘图片的网站成全视频免费观看在线看
  • 广州做网站一般多少钱视频编辑sdk
  • 普陀做网站公司集宁做网站的公司
  • 苏州网站关键词优化推广南宁做网站科技公司