当前位置: 首页 > 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.tj-hxxt.cn/news/19536.html

相关文章:

  • 企业搭建自己的网站免费刷赞网站推广qq免费
  • app开发和网站开发新品上市怎么做宣传推广
  • 财政局网站开发合同软件推广赚佣金渠道
  • 广州17做网站站长工具无忧
  • 深圳CSS3网站建设价格爱站网关键词密度
  • 婚车租赁中山seo
  • 学服装设计培训机构seo搜索引擎优化教程
  • 桂林建站合肥百度关键词排名
  • 做的网站百度找不到了如何让自己网站排名提高
  • 网站建设方案对比报告深圳网站优化软件
  • wordpress 裁剪图片工具seo
  • 电子毕业设计代做网站李飞seo
  • 家装设计网站怎么做宠物美容师宠物美容培训学校
  • 日报做的地方网站简述网络营销的特点及功能
  • 网站空间根目录百度集团官网
  • 怎么做军事小视频网站百度seo怎么查排名
  • 连云港专业网站制作重庆seo报价
  • 做ppt一般在什么网站好2023知名品牌营销案例100例
  • 淄博网站制作设计杭州做网站的公司排行
  • 公司登记兰州seo关键词优化
  • 域名备案和网站备案的区别seo关键词优化推广哪家好
  • 如何建立网站模板全国疫情最新情况公布
  • 百合视频做爰视频网站品牌运营具体做什么
  • java开发网站南京百度快速排名优化
  • 成都疫情越来越严重了贵州二级站seo整站优化排名
  • 网站建设与管理李洪心第三方关键词优化排名
  • 网站ui设计是什么陕西seo关键词优化外包
  • seo信息编辑招聘长沙网站优化推广方案
  • 深圳做网站找哪家好比百度还强大的搜索引擎
  • 网站图标代码百度搜一下