Maltab GUI课程设计——网络爬虫程序(基金连涨连跌提醒)
文章目录
- 课程设计
- 平台:Matlab App designer
- 功能实现:基金连涨连跌提醒
- 目的:
- 演示:
- 代码示例:
- 欢迎交流:
课程设计
平台:Matlab App designer
功能实现:基金连涨连跌提醒
目的:
1.Matlab代码编写能力进阶;
2.学会利用Matlab GUI设计图形交互界面,开发有趣的应用;
3.利用爬虫程序爬取网络上的感兴趣信息并进行数据处理;
演示:
1.根据多数人“追涨杀跌”的心态,连涨或连跌天数是购买基金的重要参考信息。创建一个基金连涨连跌提醒界面,具备添加基金、删除基金、插入基金、基金净值数据图绘制、基金连涨连跌天数提醒等功能。
2.通过基金号在网络上爬取对应的基金名称,并将基金添加到基金列表中。
3.通过选择基金列表中的基金,查看该基金近一个月的净值走势,并给出连涨或连跌天数提醒。
4.删除基金列表中的基金。
5.往基金列表中选定的位置插入基金。
6.鼠标放在净值走势图上,可以显示出日期及净值
7.通过批量查询直接查看基金列表中所有基金的连涨连跌天数。
8.此外,每次退出后会保存基金列表中的基金数据,重新运行后无须再重复添加。
9.程序中只查看了近一个月的单位净值,这样子程序运行比较快。其实可以爬取所选基金的自创立以来的所有净值数据并显示在界面上,但是这样子运行就变慢了。考虑到连涨连跌几乎不会超过20天,所以就查看近一个月的单位净值的趋势就ok了。
代码示例:
列表框回调函数:
try[aa,~]=find(strcmp(app.Str,app.ListBox.Value));value=app.Str{aa,1};catchcla(app.UIAxes,"reset");app.Label_4.Text='';returnendans2=cell(2,20);ans1=webread(app.url,'callback','jQuery1223','symbol',value,'datefrom','','dateto','','page',1,'_','123',app.options);expression_day='(\d+-\d+-\d+)';[tokens_day,~] = regexp(ans1,expression_day,'tokens','match');expression_value= '"jjjz":"(\d+.\d+)';[tokens_value,~] = regexp(ans1,expression_value,'tokens','match');ans2(1,1:length(tokens_day)-1)=tokens_day(1:length(tokens_day)-1);ans2(2,1:length(tokens_value)-1)=tokens_value(1:length(tokens_value)-1);plo=zeros(1,length(ans2(2,:)));for j=1:length(ans2(2,:))plo(j)=str2double(ans2{2,j});endday1=string(ans2(1,:));ck=datenum(day1);dcm1 = datacursormode(app.UIFigure);show_date_num=4;%横轴分5截plot(app.UIAxes,ck,plo(1:length(ck)));datetick(app.UIAxes,'x','yyyy/mm/dd')set(app.UIAxes,'XTick',ck(end:-show_date_num:1))set(app.UIAxes,'XTickLabel',day1(end:-show_date_num:1))set(app.UIAxes,'XTickLabelRotation',30)set(dcm1,'UpdateFcn',@myfunction);ylabel(app.UIAxes,'单位净值')xlim(app.UIAxes,[min(ck),max(ck)])grid(app.UIAxes,"on")aa=diff(plo);if aa(1)<0str1='连涨';Color=[1,0,0];elseif aa(1)>0str1='连跌';Color=[0,1,0];elsestr1='横盘';Color=[0,0,0];endnum=1;for ii=1:20if sign(aa(ii))==sign(aa(ii+1))num=num+1;elsebreak;endendapp.Label_4.Text=[str1,num2str(num),'天'];app.Label_4.FontColor=Color;function output_txt = myfunction(~,event_obj)% Display the position of the data cursor% obj Currently not used (empty)% event_obj Handle to event object% output_txt Data cursor text string (string or cell array of strings).pos = get(event_obj,'Position');output_txt = {['X: ',datestr(pos(1),'yyyy/mm/dd')],...['Y: ',num2str(pos(2),4)]};% If there is a Z-coordinate in the position, display it as wellif length(pos) > 2output_txt{end+1} = ['Z: ',num2str(pos(3),4)];endend
注:GUI里面的爬虫程序参考了B站博主longwq的视频:Matlab爬取基金数据并进行数据分析
欢迎交流:
代码事宜,私信博主
Maltab GUI课程设计——网络爬虫程序(基金连涨连跌提醒)相关推荐
- Maltab GUI课程设计——LSTM长短期记忆网络回归预测
文章目录 课程设计 平台:Matlab App designer 功能实现:LSTM长短期记忆网络回归预测 目的: 演示: 欢迎交流 课程设计 平台:Matlab App designer 功能实现: ...
- Maltab GUI课程设计——身份证号码识别
文章目录 课程设计 平台:Matlab App designer 功能实现:ID号码识别 目的: 演示: 代码示例: 欢迎交流 课程设计 平台:Matlab App designer 功能实现:ID号 ...
- Maltab GUI课程设计——数独游戏
文章目录 课程设计 平台:Matlab App designer 功能实现:数独游戏的创建与运行 目的: 演示: 代码示例: 欢迎交流 课程设计 平台:Matlab App designer 功能实现 ...
- Maltab GUI课程设计——贪吃蛇小游戏
文章目录 课程设计 平台:Matlab App designer 功能实现:贪吃蛇游戏的创建与运行 目的: 演示: 代码示例: 欢迎交流 课程设计 平台:Matlab App designer 功能实 ...
- 单片机课程设计--网络时钟
单片机课程设计–网络时钟 测控1902 孙楷亮 文章目录 单片机课程设计--网络时钟 作品功能 目标功能 典型应用场景 总体计划 代码计划 时间规划 开发资源 开发环境 硬件资源 软件资源 文档资料 ...
- PHP 程序员如何设计一个爬虫程序
A8U几年前接过一个项目,类似一个 PHP 爬虫程序,做一个微博舆情分析系统:要爬取新浪微博,用特定关键词搜索中的页面的微博内容. 那是我第一次接触网络爬虫,根本没有思路,也不了解什么Scrap ...
- 计算器小程序java课程设计,java课程设计----计算器小程序报告.doc
java课程设计----计算器小程序报告.doc #####学院JAVA语言课程设计报告小程序计算器系统管理班级:#######姓名:#####指导老师:###时间:2012年6月25日至6月29日2 ...
- 一篇文章教会你Python网络爬虫程序的基本执行流程
网络爬虫是指在互联网上自动爬取网站内容信息的程序,也被称作网络蜘蛛或网络机器人.大型的爬虫程序被广泛应用于搜索引擎.数据挖掘等领域,个人用户或企业也可以利用爬虫收集对自身有价值的数据. 一个网络爬虫程 ...
- 计算机网络课程设计聊天,计算机网络课程设计-简单聊天程序.doc
计算机网络课程设计-简单聊天程序 黔南民族师范学院 计算机科学系 计算机网络课程设计报告 课题名称: 简单聊天程序 姓 名: 学 号: 专业班级: 系 (院): 计算机科学系 指导老师: 设计时间: ...
最新文章
- core Bluetooth(蓝牙4.0)
- python中chr函数的用法_python中hex,oct,chr,ord函数讲解
- 自动装箱与拆箱引发的享元设计模式
- 【图像处理】——图像特效处理(马赛克、图像融合、毛玻璃等)
- 内存管理(注意事项和重点)
- [转载] [python3教程]第七章.输入输出(Input and Output)
- 个人空间html5主页面,2.HTML 教程- (HTML5 简介)
- 【图像分割】基于matlab直觉模糊C均值聚类图像分割IFCM【含Matlab源码 120期】
- 绿联网卡转接mac设置_绿联外置网卡Mac os 11.0 Big Sur驱动方案来了
- JavaScript 进阶技能,中高级前端必备
- CamScanner扫描全能王视频教程-Array老师-专题视频课程
- 嵌入式开发——物联网
- 怦然心动(Flipped)-9
- windows不支持scp指令解决方案
- spark实现 通过ratings.dat和movies.dat两个文件得到平均得分超过4.0的电影列表
- 【原创】年轻人接受指点,但不接受指指点点
- QQ\微信等聊天记录备份与恢复
- vue2或者vue3图片上传功能(upload)
- HTML代码via浏览器logo,Via浏览器怎么定制首页 几步轻松完成
- C语言基础-数组逆序输出