- 博客(299)
- 资源 (3)
- 收藏
- 关注

原创 【java爬虫】股票数据获取工具前后端代码
由于使用的数据库是sqlite,因此数据都保存在db文件里了,我们配置的db文件存放在resource文件夹下面。后端技术栈:springboot,sqlite,jdbcTemplate,okhttp。前端技术栈:vue,element-plus,echarts,axios。除了以上功能以外,本文还添加了一个一次性获取沪深300成分股数据的接口。前面我们有好多文章都是在介绍股票数据获取工具,这是一个前后端分离项目。数据获取的时间还挺久的,数据资源存在百度网盘自取。代码可以随意取用,做毕设或者二开都可以。
2024-01-01 20:59:38
1386
原创 【微服务学习四】gateway网关的使用
编写完成上述代码后就可以启动gateway,在浏览器中发送请求就可以获取数据。然后添加网关依赖,nacos服务发现依赖以及负载均衡依赖。接着编写启动类和配置文件。
2025-02-14 13:39:11
440
原创 【微服务学习三】openfeign实现远程调用
由于我们在openfeign客户端中的返回类型是Product,因此需要修改service-product中controller的返回类型。上一篇文章中我们实现了通过RestTemplate进行远程调用的方法,那么实际上我们还可以使用openfeign进行远程调用。接着在启动类中添加 @EnableFeignClients 注解。首先在订单服务中引入openfeign依赖。最后在浏览器中调用接口就可以得到数据。在service中进行注入并且调用。接着编写openfeign客户端。
2025-02-14 13:02:09
595
原创 【微服务学习二】nacos服务发现与负载均衡
由于在service中由于需要使用到RestTemplate进行远程调用,因此我们需要编写一个配置类,给容器注入一个RestTemplate实例。由于我们需要编写bean类,为了方便起见,我们首先给services的配置文件中添加lombok依赖和fastjson依赖。由于微服务之间可能会有相互依赖的模型层,因此需要将共用的模型层的bean类放到一个公共的模块中。由于我们的订单服务需要进行负载均衡的调用,因此首先需要添加负载均衡的依赖。接着启动微服务,然后在浏览器中调用该接口就可以查到对应的信息。
2025-02-14 11:59:27
709
原创 【金融数据分析】计算2023年沪深300行业涨跌幅
先来说后端的代码,计算行业涨跌幅的原理就是将某个行业所有成分股的涨跌幅加起来,然后除以股票数量得到一个平均涨跌幅。本文我们来计算2023年沪深300行业涨跌幅,最后呈现的页面是这样的。最后计算得到的行业涨跌幅排行榜如下。
2024-01-13 21:48:45
862
原创 【金融数据分析】计算2023年沪深300成分股涨跌排行榜
之前的文章中我们已经获取了沪深300成分股的详细个股数据,本文我们来计算一下2023年成分股的涨跌排行榜。首先看一下效果本文介绍了获取计算涨跌排行榜的方法,以及进行涨幅排行榜前10名和跌幅排行榜前10名的股票数据展示,希望对你有所帮助。
2024-01-07 14:07:37
821
原创 【java爬虫】首页显示沪深300指数走势图以及前后端整合部署方法
我们的项目是前后端分离的项目,但是部署的时候实际上可以将前端页面放到springboot中进行部署,springboot使用theamleaf引擎来分发页面。首先打开命令行,cd到前端项目目录,然后执行 npm run build 命令,执行成功后会看到如下的显示。本文我们将在首页添加沪深300指数成立以来的整体走势数据展示,最后的效果是这样的。我感觉从总体上来看指数还是比较稳的,没有特别大的波动,当然,这只是相对而言哈哈。对应的后端接口就是添加了获取沪深300指数数据的代码,比较简单,这里不赘述了。
2024-01-06 20:23:26
801
原创 【java爬虫】使用element-plus进行个股详细数据分页展示
前面的文章我们讲述了获取详细个股数据的方法,并且使用echarts对个股的价格走势图进行了展示,本文将编写一个页面,对个股详细数据进行展示。别问涉及到了element-plus中分页的写法,对于这部分知识将会做重点讲解。首先看一下效果之前我一直认为前端分页很难写,不过今天写完这个页面之后我发现,有了element-plus这样的框架,前端真的变得非常简单。本文介绍了后端分页接口以及基于element-plus的分页实现方法,希望对你有所帮助。
2024-01-01 15:23:04
1453
原创 【java爬虫】获取个股详细数据并用echarts展示
前面一篇文章介绍了获取个股数据的方法,本文将会对获取的接口进行一些优化,并且添加查询数据的接口,并且基于后端返回数据编写一个前端页面对数据进行展示。具体的获取个股数据的接口可以看上一篇文章【java爬虫】基于springboot+jdbcTemplate+sqlite+OkHttp获取个股的详细数据-优快云博客下面是操作演示,首先是爬虫获取股票数据接着是进行获取个股详细数据并且进行数据展示数据图表还可以下载下来,下面是下载下来的图片,不过下载下来的图片就不能查看每个点的详细数据了。
2023-12-30 17:40:13
2298
原创 【java爬虫】基于springboot+jdbcTemplate+sqlite+OkHttp获取个股的详细数据
我们需要关心的是"hq"中的值,"hq"中的值是一个列表,列表中还有很多列表,每个列表代码一组数据,至于数据的具体含义,可以登陆搜狐财经网站上去看看。主要就是获取了数据然后进行解析,每一次解析都是从当前月份的1日到第二个月的1日,如果是12月的话是从12月1日到12月31日。数据的从左到右分别代表日期,开盘价,收盘价,涨跌额,涨跌幅,最低,最高,成交量,成交金额和换手率,最后的盘后量是没有的。其中id字段是用来放置重复插入的,他的值是code+日期,这样就能保证某一只股票当日的数据是唯一的。
2023-12-24 16:56:56
2777
1
原创 一个例子简单理解linux系统调用fork的作用
想象这样一种场景,就是你要开始写开题报告了,但是你又不想从头开始一个字一个字写,因为开题报告是有格式要求的,为了可以专注于你开题报告的内容,于是你决定向你的师兄要了他的开题报告。在刚刚复制好的原始状态,这两份报告的内容是一样的,这就意味着你不需要在意格式的调整,而只需要专注于内容的编写就行了。其实以上就是fork的工作流程,不知道大家对于fork的工作原理的理解有没有加深,反正当时我想到这个例子的时候是彻底搞懂了fork的工作原理,不得不说这个系统调用的设计还是非常巧妙的,哈哈。这个过程可以简单描述如下。
2023-12-17 19:38:45
179
原创 【金融数据分析】获取沪深300成分股权重数据方法优化
我们是通过下载到的excel文件来获取沪深300成分股数据的,不过沪深300指数的成分股是会变化的,如果每次更新都需要手动下载成分股数据则比较麻烦,我们可以在每次更新成分股数据的时候使用OkHttp库将excel表格下载下来,下载的代码如下。每次更新数据表前都需要有一个清空表的操作,当然也可以在表中记录成分股的更新时间,我这边图省事直接将之前的所有数据删了,使用JdbcTemplate清空表的代码如下。我们在解析数据前首先下载一下数据表,然后再开始读取,这样的话每次获取到的数据就是最新的。
2023-12-16 18:32:47
580
原创 基于vue+element-plus+echarts制作动态绘图页面(柱状图,饼图和折线图)
我们知道echarts是一个非常强大的绘图库,基于这个库,我们可以绘制出精美的图表。对于一张图来说,其实比较重要的就是配置项,填入不同的配置内容就可以呈现出不同的效果。当然配置项中除了样式之外,最重要的就是数据了,因为图表本身就是用来展示数据的,我们在使用echarts的时候,通常都是通过网络去接受数据,然后进行展示,如果需要绘制特定数据的图表,则需要编程实现,这非常麻烦。为了解决这个我们,我们可以写一个可以动态更改数据的页面来进行动态图表的绘制。
2023-12-16 16:47:44
3026
原创 【金融数据分析】计算沪深300指数行业权重分布并用饼图展示
前面的文章我们已经介绍了如何获取沪深300成分股所述行业以及权重的数据,想要了解这部分内容的小伙伴可以阅读上一篇文章springboot+jdbcTemplate+sqlite编程示例——以沪深300成分股数据处理为例-优快云博客那么有了上文获取的数据,我们实际上可以计算一下沪深300按照行业分布的权重占比数据,最后的成果如下所示是不是效果还挺库的,下面就来介绍一下技术细节。
2023-12-10 15:44:51
1538
原创 springboot+jdbcTemplate+sqlite编程示例——以沪深300成分股数据处理为例
本文介绍了使用springboot+jdbcTemplate+sqlite进行编程的用例,并且以处理沪深300成分股数据为例子,我觉得如果我们自己写一些小玩具的话,这样的组合会比较好一点。那么本文内容就到此结束啦,有什么想和我讨论的欢迎评论区留言。
2023-12-09 22:32:19
1029
原创 【java爬虫】使用selenium通过加载cookie的方式跳过登录
相信很多人在使用selenium的时候都有一个困惑,就是每一次打开的浏览器实例都是不带cookie的,当有一些页面需要登录操作的时候可能就会比较麻烦,每次都需要手动登录。其实会造成这个问题的原因是每次打开的浏览器都不会加载本地的cookie,相当于环境被隔离了。这个问题其实也很好解决,解决的办法就是我们首先登陆一次,然后将相应的cookie记录下载,有了cookie信息后,直接加载我们缓存的cookie就可以实现免登陆了。首先来看一下这个方案的效果,首先是京东免登陆。
2023-12-09 16:14:28
2296
原创 基于vue+element-plus+echarts编写动态绘图页面
我们都知道网页的echarts可以画图,但是很多情况下都需要编码实现绘图逻辑,如果有一个前端页面可以让我输入数据然后动态生成图表的话那么该多好,其实这个需求不难实现,先看效果。整体页面分为左右两个部分,其中左边的部分用来编辑数据,右边的部分用来显示图表,左边上半部分用来编辑插入数据和生成表格,下半部分用来展示数据。总体的思路就是使用一个数据维护数据,然后在插入和删除数据的时候都是修改这个数组,完整的代码如下所示。这边需要提一下在vue3中echarts的引入和使用。
2023-11-25 21:36:19
1775
2
原创 【数据分析】上市公司半年报数据分析
前文介绍过使用网络技术获取上市公司半年报数据的方法,本文将对获取到的数据进行简要的数据分析。获取数据的代码介绍在下面的两篇文章中【java爬虫】使用selenium获取某交易所公司半年报数据-优快云博客【java爬虫】公司半年报数据展示-优快云博客全量数据的获取传送门如下【免费】某交易所上市公司半年报数据资源-优快云文库下面进入数据分析环节。
2023-10-29 16:46:54
988
1
原创 【java爬虫】公司半年报数据展示
前面有一篇文章介绍了使用selenium获取上市公司半年报的方法,这篇文章就给这些数据写一个简单的前端展示页面上一篇文章的链接在这里【java爬虫】使用selenium获取某交易所公司半年报数据-优快云博客首先来看一下整个页面的展示效果前端页面采用vue+element-plus+axio进行编写,采用cdn的方式引入,只有一个index.html文件。整体的统计数据(各种平均值)经营收入排名前十的公司净利润排名前十的公司经营现金流排名前十的公司资产收益率排名前十的公司。
2023-10-29 13:25:58
1169
原创 【java爬虫】爬虫获取某交易所公司半年报全量数据
上一篇文章介绍了使用selenium获取某交易所公司半年报的方法,页面中公开展示的数据一共有2222条,本文就将所有数据分享出来。然后是以sql形式保存的数据。还有以csv格式保存的数据。首先是建表sql语句。
2023-10-28 21:39:45
489
原创 【java爬虫】使用selenium获取某交易所公司半年报数据
使用爬虫获取数据还是挺快的,也挺方便的。不过还是要提醒一句,本文分享的内容仅作为学习交流使用,请勿用于任何商业用途!
2023-10-22 13:55:49
1615
1
原创 基于html+js编写的生命游戏
本文将介绍一个基于html+js的生命游戏,该项目只有一个html代码,无任何其他以来,UI方面采用了vue+element-plus进行渲染,游戏的界面基于canvas进行渲染,先来看一下成果。我不知道游戏规则有没有写错,感觉经常会陷入循环中。本次项目可以算是对canvas的简单应用吧,我发现其实可以用canvas做很多东西,甚至可以用来制作一些简单的2D游戏,不过如果要做游戏的话,可能需要自己实现一下逻辑,还是挺复杂的。
2023-10-15 20:32:30
607
原创 【java爬虫】使用vue+element-plus编写一个简单的管理页面
前面我们已经将某宝联盟的数据获取下来了,并且编写了一个接口将数据返回,现在我们需要使用vue+element-plus编写一个简单的管理页面进行数据展示,由于第一次使用vue编写前端项目,所以只是编写了一个非常简单的页面。本文只是简单介绍了一下使用vue+element-plus编写一个管理系统前端页面的基本项目结构,根据这个项目结构就可以不断完善功能,编写出自己想要的效果。最后附上element-plus组件的使用文档。
2023-10-06 16:33:19
1604
原创 编译运行miniob最小数据库系统
minibo是一个用于教学的小型数据库系统,麻雀虽小五脏俱全,该项目包含了数据库的核心内容,并且代码量小,适合新手学习,最近由于需要学习c/cpp,因此打算从这个项目入手,本文就介绍编译运行miniob的方法。
2023-07-30 18:21:05
2236
2
原创 【java爬虫】将优惠券数据存入数据库排序查询
前两篇文章介绍了如何获取优惠券的基础信息,本文将获取到的基本信息存到数据库中,并且利用数据库的排序获取优惠力度最大的优惠券。从上述代码中可以看出来,优惠价格和优惠率是自己计算的,在获取完券前价格和券后价格后就可以计算着两个值了,最后的结果保留四位有效数字,这里只是用了格式化保留四位小数,并没有进行四舍五入。在SQL语句中 limit 后面的两个参数分别是开始的索引和查询的数据量,比如下面这条SQL语句的意思应该是从第0条数据开始查,一共查出10条数据。上述的查询对应的sql语句如下。
2023-07-16 13:39:11
2733
原创 【java爬虫】使用selenium获取某宝联盟淘口令
其实相比于上一篇文章,本文的重点就是打开一个新的页面,然后切换到新的页面,然后获取完淘口令后再关闭这个新的页面,不断重复这个动作。关闭新打开的页面的代码如下,其实selenium就是按照句柄去找页面的,句柄就是一串字符串,我们首先切换到新打开的页面,关闭后需要切换回首页。本文将在上一篇文章的基础上更进一步,获取每个优惠券的淘口令,毕竟我们只有复制淘口令才能在APP里面获取优惠券嘛。获取淘口令的方法也是非常简单,对于首页的每一张优惠券卡片,都需要点击进入详细信息页面,然后获取淘口令。
2023-07-15 19:13:17
2862
原创 【java爬虫】使用selenium爬取优惠券
本文将介绍使用selenium爬取淘宝联盟优惠券的方法,之所以使用selenium是因为我不会js逆向,如果你已经参透了淘宝联盟的js逆向方法,那么直接使用接口调数据就行了。
2023-07-02 14:49:36
1129
原创 【java爬虫】selenium+browsermob入门实战
到这里,本文的主要内容就介绍完了。使用selenium+browsermob可以非常方便地进行网络数据收集,不过我感觉有一个缺点就是运行起来非常慢,在爬下批量数据的情况下可以使用,但是如果要快速爬取大批量数据的话,还是直接用http去请求接口,对于反爬虫机制比较好的接口,可以去研究一下js逆向,selenium相对于直接去请求接口的一大优势就是不用花时间去研究js逆向,直接写代码去获取数据就完事了。那么本文就到此结束,如果你有什么想和我交流讨论欢迎评论区留言。
2023-06-24 12:56:44
2720
原创 java.lang.NoSuchMethodError: com.google.common.collect.ImmutableMap.of(Ljava/lang/Object;Ljava/lang/
的错误,这个错误一般是以来引起的,在pom.xml中引入如下依赖可能可以解决问题。在使用selenium的时候报了。
2023-06-24 10:02:48
3445
原创 vue+springboot前后端分离项目整合部署流程
我们在进行前后端分离开发的时候,一般是将前端项目部署到nginx服务器上,与后端项目分开部署,但是如果是个人开发的小型项目,不需要这么麻烦,直接将前后端项目放到一起部署即可。本文就来介绍一下前后端项目一起部署的流程。
2023-05-30 17:10:33
5508
1
原创 使用CDN方式引入Vue和Element plus
在学习Vue和Element plus整合使用的时候打算先写一个使用cdn方式引入的入门级案例,没想到遇到了一个坑,在网上查了资料也没有解决问题,最后发现是引入cdn的顺序错了。整合vue和Element plus的时候我们需要引入三个cdn,这三个cdn的引入是需要严格按照顺序的,具体的写法如下。也就是先引入样式,然后引入Vue,最后引入Element plus。我一开始以为前端非常简单,没想到学习起来比后端的坑还多。完整的代码如下,这也是一个入门级的例程。
2023-05-30 13:46:56
4104
原创 用爬虫分析沪深300指数超长走势
不知道大家看到这个指数是什么感觉,我的感觉是这个指数波动很大,非常大,总是大起大落,高的时候很高,低的时候又很低;emmm,说的有点复杂,简单说就是选择了市场上比较有代表性的300只股票,按照权重计算的一个加权和,而且指数会根据市场的变化调整所选用的股票,因此可以认为沪深300就是股市的晴雨表。以上信息中比较需要我们填写的就是code,start和end,由于我们统计的是超长周期的走势,因此period可以选择w,获取周信息即可看,下面是拼接url的代码。,公开发布,作为市场价格变动的指标。
2023-05-21 12:54:55
1256
原创 【碎碎念】聊聊本科,研究生和工作
当我写下这篇文章的时候,我的毕业论文已经通过外审了,外审对于我们来说是读研后最重要的一次考验,只要得了一个c就要延毕三个月。回顾我从本科开始到现在,也是过了好多好多年,期间经历了好多事,正如标题所说的我想以碎碎念的形式将我的感想分享给读文章的各位。本文的主题是本科,研究生和工作,之所以我想聊这三者,是因为我读研期间加起来差不多有半年多的工作经历,这一段虽然不长的工作经历对于我思想观念的改变是巨大的。好了,不说废话了,我们直接进入正题吧。
2023-04-29 16:04:55
1025
原创 在springboot项目中使用rocketmq消息队列实战
这个项目虽然看上去不难,但是真的做起来还是花了不少精力的。我将代码都放到gitee上了,有需要可以自取。
2023-04-15 23:08:54
1032
原创 docker环境下搭建rocketmq集群
上面两个分别对应nameserver结点和broker结点,这里简单介绍一下,nameserver结点有点像服务注册和发现中心,broker结点就是实际干活的结点,dashboard是一个可视化的监控页面,可以让我们非常方便地监控rocketmq的工作情况。你也可以像上面这篇文章一样拉取一个镜像启动server和broker,但是我没有成功,然后按照下面这篇文章的思路成功了。文章说拉取的镜像是foxiswho/rocketmq,其实不是的,拉取的就是我上面写的两个不同tag的镜像。首先是server结点。
2023-04-15 16:09:10
1483
原创 使用vue实现分页
使用vue实现分页的逻辑并不复杂,接收后端传输过来的数据,然后根据数据的总数和每一页的数据量就可以计算出一共可以分成几页。可以发现list中的每一项就是构成我们前端页面中一行的数据,这在vue中体现为数据的绑定,下面就来看看详细的html代码。上图中方框内的数据就是后端返回的数据,msg中记录的就是我们需要用到的数据,里面有交给数据项。isnull:表示一次查询的结果数量是否为0,用来控制没有结果的显示逻辑。我编写了一个简单的前端页面用来查询数据,页面一共有几个逻辑。具体的效果可以看下面的演示。
2023-04-09 12:26:02
6389
原创 使用vue3+axios和后端交互时无法改变的data中的数据
今天在编写前端页面的时候,打算引入axios进行ajax请求,可以在这个过程中遇到了一个非常大的坑,先来看看有坑的代码。这个问题我真的处理了非常久,后来发现这种写法在then()里面是没有办法拿到this的,解决的办法在下面这篇文章。下面贴一下完整的代码,代码非常简单,就是和后端交互,将查询出来的数据在渲染到页面上。说起来也非常简单,实际上就是在then()里面将函数的形式修改为=>的形式。可以看到,第二次打印this.msg的时候我们拿到了一个空值。我们看一下浏览器端的console的打印情况。
2023-04-08 20:53:20
459
原创 使用vue处理循环数据
那么我们也可以使用vue框架进行页面渲染,使用vue进行渲染的话,后端只需要将json字符串传给前端,然后前端拿到数据后在浏览器端进行渲染,实际上就是使用了客户端的资源进行页面渲染,这样子做可以减轻服务端的压力。以往我写前端页面的时候都是使用theamleaf模板引擎,模板引擎的原理其实就是服务端进行页面的渲染,这里需要说一下,渲染的意思实际上就是将相应的数据编程html标签,比如我们使用了 th:each 标签,那么在服务端,就会用for循环将数据装填成html代码。
2023-04-08 13:44:29
1429
原创 使用docker开启和停止一个容器
从上面的例子中可以看出来,docker真的非常方便,我们可以用一个mysql镜像生成很多个相互独立的容器,也就是说,使用docker可以在单机搭建一个mysql集群。使用这种方法,可以将计算资源虚拟化,比如我一台物理机可以使用docker开很多个mysql容器,然后不同的mysql数据库给不同的系统使用,相互之间彼此独立,这样子真的太棒啦。
2023-04-05 14:53:33
994
c++背词宝应用 exe文件
2018-09-05
c++背词宝应用
2018-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人