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

    文章

    3591

    浏览量

    63371
  • 代码
    +关注

    关注

    30

    文章

    4556

    浏览量

    66772
  • 爬虫
    +关注

    关注

    0

    文章

    77

    浏览量

    6517

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

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

收藏 人收藏

    评论

    相关推荐

    又进化了!全志T113智能家居86盒圆版(圆加一体化驱动板+CNC外壳+LVGL UI)

    FanHuaCloud大佬加持下,又给86盒挖了个新坑,为了解决之前ESP32所驱动圆只能播放MJPEG并且帧率较低的尴尬问题,集圆加一体化驱动板+外壳+LVGL UI于一身的
    发表于 04-15 09:56

    全球新闻网封锁OpenAI和谷歌AI爬虫

    分析结果显示,至2023年底,超半数(57%)的传统印刷媒体如《纽约时报》等已关闭OpenAI爬虫,反之电视广播以及数字原生媒体相应地分别为48%和31%。而对于谷歌人工智能爬虫,32%的印刷媒体采取相同措施,电视广播和数字原生媒体的比率分别为19%和17%。
    的头像 发表于 02-27 15:31 244次阅读

    如何解决Python爬虫中文乱码问题?Python爬虫中文乱码的解决方法

    如何解决Python爬虫中文乱码问题?Python爬虫中文乱码的解决方法 在Python爬虫过程中,遇到中文乱码问题是常见的情况。乱码问题主要是由于编码不一致所导致的,下面我将详细介绍如何解
    的头像 发表于 01-12 15:11 499次阅读

    爬虫的基本工作原理 用Scrapy实现一个简单的爬虫

    数以万亿的网页通过链接构成了互联网,爬虫的工作就是从这数以万亿的网页中爬取需要的网页,从网页中采集内容并形成结构化的数据
    的头像 发表于 12-03 11:45 483次阅读
    <b class='flag-5'>爬虫</b>的基本工作原理 用Scrapy实现一个简单的<b class='flag-5'>爬虫</b>

    Python网络爬虫Selenium的简单使用

    想要学习爬虫,如果比较详细的了解web开发的前端知识会更加容易上手,时间不够充裕,仅仅了解html的相关知识也是够用的。
    的头像 发表于 11-14 14:44 221次阅读
    Python网络<b class='flag-5'>爬虫</b>Selenium的简单使用

    如何看待Python爬虫的合法性?

    Python爬虫是一种自动化程序,可以从互联网上获取信息并提取数据。通过模拟网页浏览器的行为,爬虫可以访问网页、抓取数据、解析内容,并将其保存到本地或用于进一步分析
    的头像 发表于 11-14 10:35 248次阅读

    crawlerdetect:Python 三行代码检测爬虫

    是否担心高频率爬虫导致网站瘫痪? 别担心,现在有一个Python写的神器——crawlerdetect,帮助你检测爬虫,保障网站的正常运转。 1.准备 开始之前,你要确保Python和pip已经成功
    的头像 发表于 11-02 11:31 289次阅读

    feapder:一款功能强大的爬虫框架

    ,feapder 支持轻量级爬虫、分布式爬虫、批次爬虫爬虫报警机制等功能 内置的 3 种爬虫如下: AirSpider 轻量级
    的头像 发表于 11-01 09:48 633次阅读

    网络爬虫 Python和数据分析

    网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件
    发表于 09-25 08:25

    当前火的ARGB: 电竞键盘、LED景观照明等应用芯片

    当前火的ARGB: 电竞键盘、LED景观照明等应用芯片 火的ARGB应用: 在ARGB展示中,MG32F02V032芯片里面带一ASB总线,可控制4串ARGB灯条,就可呈现出
    发表于 08-29 15:37

    电竞键盘M0系列: 玩家级灯光效果

    电竞键盘M0系列: 玩家级灯光效果 玩家级灯光效果: 采用MG32F02U128芯片的键盘的应用,其键盘的RGB灯效控制乃是透过硬件除法器计算灯效,然后再透过PWM输出一
    发表于 08-29 15:34

    【Python爬虫】从零教你下载狗音乐_第4节 #硬声创作季

    python爬虫
    充八万
    发布于 :2023年08月01日 21:43:29

    【Python爬虫】从零教你下载狗音乐_第1节 #硬声创作季

    python爬虫
    充八万
    发布于 :2023年08月01日 21:40:58

    工业数据三维可视化展示系统

    随着信息技术的不断发展,工业企业数字化转型已成为企业发展的必然趋势。3D数据可视化展示技术在工业企业数字化转型中发挥着重要的作用,其价值主要体现在以下几个方面: 提高企业决策效率:3D数据可视化
    的头像 发表于 05-19 16:39 416次阅读

    那么的广告灯箱是如何制作的呢?

    DIY
    YS YYDS
    发布于 :2023年05月18日 21:36:49