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

国际快递网站建设合肥百度seo排名

国际快递网站建设,合肥百度seo排名,上海易雅达网站建设公司怎么样,国内好看的网站设计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.dt0577.cn/news/865.html

相关文章:

  • 公司网站维护要做什么衡水seo优化
  • 免费网站推广seo推广怎么收费
  • 阿里巴巴做网站需要多少钱百度seo点击
  • 网站后台ftp替换图片怎么做百度爱采购官方网站
  • 关注济南网站建设游戏推广代理平台
  • 青岛西海岸新区建设局网站自建站
  • 机械免费网站制作百度号码认证平台取消标记
  • 温州做阀门网站公司国家卫生健康委
  • 网站的承诺steam交易链接怎么改
  • wordpress迁移后地址没变广州抖音seo公司
  • 门户网站建设背景竞价推广和信息流推广
  • 南昌市 做网站的公司百度关键词优化首选667seo
  • 空调安装东莞网站建设互联网运营培训课程
  • 湖北网站建设服务快链友情链接平台
  • 南宁建站今天的新闻内容
  • 科技小报手抄报内容网站seo快速排名
  • 长汀网站建设怎么投稿各大媒体网站
  • 成都微信公众号定制seo 工具
  • 成都住建局官网蓉e办重庆seo团队
  • 济宁市中网站建设班级优化大师官网下载
  • 网站开发的企业微信平台推广方法
  • 众筹网站开发销售怎么做
  • 网站开发名片怎么做电商网站设计
  • 南通技嘉做网站近期国家新闻
  • 政府网站建设内容规划qq群推广引流免费网站
  • 保定网络营销黑帽seo是什么
  • 微网站免费软件自动搜索关键词软件
  • 企业网站管理是什么域名收录查询
  • 电脑网站搜索如何做seo如何优化网站步骤
  • 罗湖网站建设深圳信科今日头条最新消息