0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用炫酷大屏展示爬虫数据!

电子工程师 来源:Python技术 作者:派森酱 2022-08-05 11:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

大屏有时纯粹是为了好看,领导的说法是“花花绿绿的效果不错”。尤其放到展厅里,整面墙壁都是大屏那种,色彩十分艳丽。我尝试了一下。不是专业的前端,所以用vue模板修改,前后端分离。后端使用fastapi,爬取的数据存入数据库。效果图如下,点击看全屏效果5c6dc45e-146a-11ed-ba43-dac502259ad0.png  下面这张是网上下载的vue大屏,我根据它来修改的修改内容包括:
  1. 更换背景大图,形成"暗黑"星空风格
  2. Apache ECharts官网找适合的效果图,并修改
  3. 删除词云和中间的飞行地图等,把自己的内容排版进去

5c89e242-146a-11ed-ba43-dac502259ad0.png

数据来源

说明

  1. 这里只介绍右边的“降水量预报”。值越大,气球越大
5ca5890c-146a-11ed-ba43-dac502259ad0.png
  1. 采用scrapy爬取数据
  2. 数据爬自weather.cma.cn
  3. 定义要爬的url,降水量相加得到某地未来一天的降雨量

    5ccc8c1e-146a-11ed-ba43-dac502259ad0.png

运行过程

5ce4b5be-146a-11ed-ba43-dac502259ad0.gif

爬虫脚本

参考 ssw的小型文档网站

后端接口

数据库的爬虫数据

5d046b66-146a-11ed-ba43-dac502259ad0.png

fastapi

  • 接口url:
    • http://localhost:5000/rain/
  • 脚本:

	fromfastapiimportFastAPI fromfastapi.responsesimportJSONResponse importpymysql app=FastAPI() defconn_mysql(sql): dbparam={ 'host':'127.0.0.1', 'port':3306, 'user':'root', 'password':'1024', 'database':'alerts', 'charset':'utf8' } conn=pymysql.connect(**dbparam) cursor=conn.cursor() try: cursor.execute(sql) res=cursor.fetchall() exceptExceptionase: print('入库失败',e) conn.rollback() finally: cursor.close() conn.close() returnres defget_rains_from_db(): sql='SELECTcity,rainfromrains' res=conn_mysql(sql) returnres @app.get('/rain') defrain(): res=get_rains_from_db() foriinres: city=i[0].strip() if(city=='益阳'): yys=i elif(city=='永顺'): xxz=i elif(city=='长沙'): css=i elif(city=='张家界'): zjjs=i elif(city=='邵阳市'): sys=i elif(city=='株洲'): zzs=i elif(city=='常德'): cds=i elif(city=='娄底'): ld=i returnJSONResponse({'data':{'ld':ld,'css':css,'sys':sys,'yys':yys,'zjjs':zjjs, 'xxz':xxz,'cds':cds,'zzs':zzs}}) 

前端展示

vue部分目录结构

文件已上传,下载地址

	. ├──public │└──json │└──430000.json └──src ├──api │├──http.js │├──index.js │└──options.js ├──components │├──companySummary ││└──rain.vue │└──index.js ├──main.js ├──router │└──index.js └──views └──alerts.vue 

文件说明

router/index.js编写路由

	constroutes=[ { path:'/alerts', name:'alerts', component:()=>import('@/views/alerts.vue'), meta:{ title:'告警' } }, ] main.js
  1. 导入router/index.js中的路由
  2. 导入components/index.js中定义的组件,方便其它文件引用。如在alerts.vue中写上即可引用

	importVuefrom'vue' importrouterfrom'./router' importVcompfrom'./components/index'// Vue.use(Vcomp) components/index.js组件在这个文件进行汇总

	importrainfrom'./companySummary/rain'//区域雨量 constcomponents={ rain,//指components/companySummary/rain.vue } constVcomp={ ...components, install }; exportdefaultVcomp components/companySummary/rain.vue

	import{mapOptions}from'@/api/options.js' exportdefault{ name:'rain', } views/alerts.vue这里引用rain.vue组件

	...省略 class="panel"> <h2>20小时降水量预报h2> <rain/> <divclass="panel-footer">div> </div> ...省略 api/index.js
  • 向fastapi接口发送请求


	exportconstrainInfo=(params)=>{ returnaxios.get('http://localhost:5000/rain/') } api/options.js
  • 向fastapi接口发送请求

  • mapOptions在rain.vue被引用,被apache echarts使用


	$.ajax({ type:"GET", url:"http://localhost:5000/rain/", dataType:'json', async:false, success:function(res){ varxxx=[ {name:'娄底市',value:parseFloat(res.data.ld[1])}, {name:'长沙市',value:parseFloat(res.data.css[1])}, {name:'邵阳市',value:parseFloat(res.data.sys[1])}, {name:'益阳市',value:parseFloat(res.data.yys[1])}, {name:'张家界市',value:parseFloat(res.data.zjjs[1])}, {name:'湘西土家族苗族自治州',value:parseFloat(res.data.xxz[1])}, {name:'常德市',value:parseFloat(res.data.cds[1])}, {name:'株洲市',value:parseFloat(res.data.zzs[1])}, ]; }}) exportfunctionmapOptions(mapType){ vargeoCoordMap={//坐标数据 '娄底市':[112.008497,27.728136], '长沙市':[112.982279,28.19409], '邵阳市':[111.46923,27.237842], '益阳市':[112.355042,28.570066], '张家界市':[110.479921,29.127401], '湘西土家族苗族自治州':[109.739735,28.314296], '常德市':[111.691347,29.040225], '株洲市':[113.151737,27.835806], }; ...省略 } 

总结

  • 通过这次尝试,简单实现了大屏效果。条形图、折线图、飞行地图、词云等,还可以去Apache ECharts官网找资源加入到大屏。如果你对threejs很了解,甚至可以把它的3D效果加入进来
  • 有些大屏用html编写,一大段一大段的代码让人失去修改的兴趣,相比来说vue更简洁、代码少、修改快。

		

审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    4085

    浏览量

    68562
  • 代码
    +关注

    关注

    30

    文章

    4977

    浏览量

    74404
  • 爬虫
    +关注

    关注

    0

    文章

    87

    浏览量

    8180

原文标题:太帅了!我用炫酷大屏展示爬虫数据!

文章出处:【微信号:AI科技大本营,微信公众号:AI科技大本营】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    希恩凯电子深度拆解TFT液晶

    在当今这个万物互联的时代,无论是你手中高频滑动的智能手机,还是汽车中控台上那块的大,亦或是工厂的机器上那个精细的操作界面,都离不开一块小小的“玻璃”。当我们都在追逐高清、高亮、高响应的视觉体验时,背后最大的功臣莫过于TFT
    的头像 发表于 03-17 11:03 505次阅读
    希恩凯电子深度拆解TFT液晶<b class='flag-5'>屏</b>

    Trinamic方案加持,3D风扇如何实现稳定的显示效果?

    效果。它有很多名字这类设备有很多叫法,比如:3D全息广告机全息风扇它的正式名称是3D全息智能。原理其实不复杂它的成像原理,简单来说,就是利用了人眼的“视觉暂留
    的头像 发表于 03-09 15:39 211次阅读
    Trinamic方案加持,3D风扇<b class='flag-5'>屏</b>如何实现稳定<b class='flag-5'>酷</b><b class='flag-5'>炫</b>的显示效果?

    在昉·星光开发板上控制WS2812B彩灯环

    WS2812B版星际之门 了解。 在这片课程中,我们使用SPI接口,来发送WS2812B所需要的控制数据,从而实现24颗灯珠的彩灯环控制。 四、实物连线 首先,参考下图,将彩灯板连接到昉·星光开发板
    发表于 03-06 06:15

    赛智能亮相阿里云通义智能硬件展,展示AI技术应用成果

    最新AI智能硬件产品亮相,全方位展示技术落地成果,并带来专业产品技术演讲,深度分享在AI应用领域的最新进展,为现场观众呈现一场科技与情感交融的智能盛宴。   一、技术分享:解锁AI陪伴的情感新境界 展会期间,赛智能AI硬件事业部总经理孙晓灵
    的头像 发表于 01-12 10:40 271次阅读
    <b class='flag-5'>酷</b>赛智能亮相阿里云通义智能硬件展,<b class='flag-5'>展示</b>AI技术应用成果

    京东关键词搜索商品列表的Python爬虫实战

    !) 京东拥有商品数据的版权,爬虫仅可用于 个人学习、研究 ,禁止用于商业用途、批量爬取造成京东服务器压力。 遵守京东《用户协议》和robots.txt协议(京东https://www.jd.com/robots.txt明确限制了部分
    的头像 发表于 01-04 10:16 1318次阅读

    高格欣科技OLED透明展柜:解锁虚实融合的沉浸式展示新体验

    作为透明展柜领域的领军品牌,高格欣以“科技赋能展示,创意连接体验”为理念,将硬核技术与场景需求深度融合,为各行业提供专业的智能展示解决方案。其产品不仅在参数性能上表现突出,更以定制化服务赢得市场
    的头像 发表于 12-17 19:25 1366次阅读
    高格欣科技OLED透明<b class='flag-5'>屏</b>展柜:解锁虚实融合的沉浸式<b class='flag-5'>展示</b>新体验

    69.9元乐鑫科技ESP32-S3 2.8寸串口爆改手持彩屏遥控器!手机APP卡顿?不存在的!

    还在用手机APP遥控你的麦克纳姆轮小车?当的漂移遇上突如其来的微信消息,当精准的操控被卡顿的手机APP打断——这份憋屈,每个遥控车玩家都懂。手机遥控的痛点,我们深有体会。是时候彻底告别这种折磨
    的头像 发表于 11-21 18:02 1062次阅读
    69.9元<b class='flag-5'>用</b>乐鑫科技ESP32-S3 2.8寸串口<b class='flag-5'>屏</b>爆改手持彩屏遥控器!手机APP卡顿?不存在的!

    # 深度解析:爬虫技术获取淘宝商品详情并封装为API的全流程应用

     在电商行业蓬勃发展的当下,淘宝作为国内头部电商平台,积累了海量商品数据。对于企业、开发者以及市场研究者来说,获取这些商品详情数据并封装成API,能够极大地满足市场分析、竞品监控、个性化推荐等多样化
    的头像 发表于 11-17 09:29 499次阅读

    如何基于开发板RK3568 Android 11强制所有应用横展示

    RK3568 Android 11强制所有应用横展示,1、打开frameworks/base/core/java/android/content/pm/parsing/component
    的头像 发表于 11-07 16:07 897次阅读
    如何基于开发板RK3568 Android 11强制所有应用横<b class='flag-5'>屏</b><b class='flag-5'>展示</b>

    快速上手!带你LVGL工具完成乐鑫科技ESP32-S3 2.8寸串口UI开发!代码完全开源!

    的LVGL界面效果!本教程代码全部开源!后台私信关键词“S3-2.8寸LVGL开发“自动获取ESP32-S32.8寸串口LVGL开发源代码百度网盘链接!串
    的头像 发表于 10-30 18:04 2444次阅读
    快速上手!带你<b class='flag-5'>用</b>LVGL工具完成乐鑫科技ESP32-S3 2.8寸串口<b class='flag-5'>屏</b>UI开发!代码完全开源!

    从 0 到 1: PHP 爬虫优雅地拿下京东商品详情

    在电商数据驱动的时代, 商品详情数据 成为市场分析、价格监控、竞品调研的核心燃料。京东作为国内头部电商平台,其商品信息丰富、更新频繁,是数据开发者眼中的“香饽饽”。 本文将带你 从 0 到 1 ,
    的头像 发表于 09-23 16:42 1078次阅读
    从 0 到 1:<b class='flag-5'>用</b> PHP <b class='flag-5'>爬虫</b>优雅地拿下京东商品详情

    Nginx限流与防爬虫配置方案

    在互联网业务快速发展的今天,网站面临着各种流量冲击和恶意爬虫的威胁。作为运维工程师,我们需要在保证正常用户访问的同时,有效防范恶意流量和爬虫攻击。本文将深入探讨基于Nginx的限流与防爬虫解决方案,从原理到实践,为大家提供一套完
    的头像 发表于 09-09 15:52 1088次阅读

    能源组态数据管理平台有什么功能?

    组态数据管理平台是一种借助组态技术,对能源相关数据进行集中展示、分析与管理的可视化平台。它通过集成多种能源数据来源,以直观的大
    的头像 发表于 07-11 16:51 673次阅读
    能源组态<b class='flag-5'>数据</b>大<b class='flag-5'>屏</b>管理平台有什么功能?

    英特尔锐Pro B系列,边缘AI的“智能引擎”

    2025年6月19日,上海—— 在MWC 25上海期间,英特尔展示了一幅由英特尔锐™ Pro B系列GPU所驱动的“实时响应、安全高效、成本可控”的边缘AI图景。 英特尔客户端计算事业部边缘计算
    的头像 发表于 06-20 17:32 1066次阅读
    英特尔锐<b class='flag-5'>炫</b>Pro B系列,边缘AI的“智能引擎”

    数控机床数据采集如何展示到车间数据

    数控机床采集到车间数据的解决方案
    的头像 发表于 06-20 12:01 839次阅读
    数控机床<b class='flag-5'>数据</b>采集如何<b class='flag-5'>展示</b>到车间<b class='flag-5'>数据</b>大<b class='flag-5'>屏</b>