当前位置: 首页 > news >正文

网站改版怎么弄短视频培训学校

网站改版怎么弄,短视频培训学校,dw中旅游网站怎么做,wordpress怎么设置404伪静态基于Python Flask的全国气象数据采集及可视化系统 一、项目简介二、项目技术三、项目功能四、运行截图五、分类说明六、实现代码七、数据库结构八、源码下载 一、项目简介 本项目是一个基于Web技术的实时气象数据可视化系统。通过爬取中国天气网的各个城市气象数据&#xff0c…

基于Python Flask的全国气象数据采集及可视化系统

    • 一、项目简介
    • 二、项目技术
    • 三、项目功能
    • 四、运行截图
    • 五、分类说明
    • 六、实现代码
    • 七、数据库结构
    • 八、源码下载

一、项目简介

本项目是一个基于Web技术的实时气象数据可视化系统。通过爬取中国天气网的各个城市气象数据,并将其保存到自己的数据库中,我们利用Python、Flask、ECharts和MySQL等技术,实现了数据的分析和可视化呈现。这是一个采用B/S架构的现代化气象数据管理系统,用户只需通过浏览器便可访问。在项目完善版本中,我们进一步优化了数据处理和可视化,提高了系统的性能和用户体验。

二、项目技术

  • Python爬虫技术:借助Python强大的网络爬虫库,我们能够高效地从中国天气网上获取实时气象数据,并将其转化为结构化数据。
  • Flask后端框架:作为一种轻量级的后端框架,Flask简化了开发流程,使得我们能够快速搭建灵活且可扩展的Web应用程序。
  • MySQL数据库:作为一个成熟的关系型数据库管理系统,MySQL提供了高效可靠的数据存储和查询能力,使得我们能够方便地管理爬取的气象数据。
  • ECharts大数据可视化:ECharts作为当时流行的数据可视化库,为我们提供了丰富的图表类型和交互式特性,使得我们能够将庞大的气象数据以直观的图表形式展示给用户。
  • layui后台管理前端框架:借助layui框架,我们实现了美观、简洁的后台管理界面,提升了用户操作的友好性和便捷性。

三、项目功能

系统功能模块的设计是基于对现实需求的深入理解和用户体验的关注,详情功能结构图,如下图所示。主要包括以下五大功能:

  • 可视化功能模块:通过ECharts技术,将爬取的气象数据转化为图表形式,以直观的方式展示各城市的气象情况,使用户能够快速把握气象趋势和变化,更好地做出决策。
  • 版本管理功能模块:用于记录系统的不同版本,包括功能更新、性能优化和Bug修复等内容,确保系统持续发展和不断完善。
  • 用户管理功能模块:实现用户注册、登录和权限控制,不同用户拥有不同的菜单权限,保障系统的安全性和数据隐私。
  • 实时气象数据管理功能模块:用于存储、更新和管理从中国天气网爬取的实时气象数据,确保数据的准确性和及时性。
  • 爬虫管理功能模块:针对爬虫任务进行管理,包括设置爬取频率、指定目标城市等,以确保爬虫的高效稳定运行。
    在这里插入图片描述

四、运行截图

大屏可视化页面请添加图片描述

用户登录页面
请添加图片描述用户注册页面
请添加图片描述后台管理首页面
在这里插入图片描述后台用户管理页面
在这里插入图片描述后台版本管理页面
在这里插入图片描述后台气象管理页面
在这里插入图片描述后台气象编辑页面
在这里插入图片描述后台爬虫日志管理页面
在这里插入图片描述

五、分类说明

AQI:

0-50良好

51-100:中等

101-150:偏差,对敏感人群不健康

151-200:差,不健康

201-300:极差,非常不健康

300+:有毒

风力等级:

在这里插入图片描述

六、实现代码

爬虫头部实现代码

class GetWeather:def __init__(self):self.baseUrl = r""self.headers = {'Accept': "*/*",'Accept-Encoding': 'gzip, deflate','Accept-Language': 'keep-alive','Connection': '','Cookie': ''.encode("utf-8").decode("latin1"),'Host': 'd1.weather.com.cn','Referer': '','User-Agent': '', }self.loadList = []# 格式为:列表里面的子列表都是一个省份的所有城市,子列表里所有元素都是字典,每个字典有两项self.cityList = [] self.cityDict = {}self.result = xlwt.Workbook(encoding='utf-8', style_compression=0)self.sheet = self.result.add_sheet('result', cell_overwrite_ok=True)self.cityRow = 0self.totalGet = 0

数据清洗存入数据库

 data = json.loads(self.htmlResult.replace("var dataSK=", ""))nameen = data["nameen"]  # 城市拼音cityname = data["cityname"]  # 城市名称temp = data["temp"]  # 当前温度WD = data["WD"]  # 风向WS = data["WS"].replace("级", "")  # 风力wse = data["wse"].replace("km/h", "")  # 风速sd = data["sd"].replace("%", "")  # 湿度weather = data["weather"]  # 天气record_date = data["date"]  # 时间record_time = data["time"]  # 时分aqi = data["aqi"]  # 时分judge_sql = "select count(id) from `weather` where nameen = '" + nameen + "' and cityname='" + cityname + "' and record_date='" + record_date + "' and record_time='" + record_time + "'";sql = "INSERT INTO `weather` VALUES (null, '" + nameen + "', '" + cityname + "', '" + record_date + "', '" + record_time + "', " + str(temp) + ", '" + WD + "', " + WS + ", " + wse + ", " + sd + ", '" + weather + "', " + aqi + ", '" + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + "',0);"i = db.query_noargs(judge_sql)[0][0]if int(i) > 0:print("跳过:", judge_sql)continueupdate_sql = "update `weather` set is_old=1 where nameen = '" + nameen + "' and cityname='" + cityname + "'";print("插入:", sql)count += 1db.query_noargs(update_sql)db.query_noargs(sql)

首页城市空气质量统计

# 获取城市空气质量统计
def get_AQI_total_data():db = dbUtil()lh_sql = "SELECT COUNT(id) FROM weather WHERE aqi<=50 AND is_old=0"zd_sql = "SELECT COUNT(id) FROM weather WHERE aqi>50 AND aqi<=100 AND is_old=0"pc_sql = "SELECT COUNT(id) FROM weather WHERE aqi>100 AND aqi<=150 AND is_old=0"c_sql = "SELECT COUNT(id) FROM weather WHERE aqi>150 AND aqi<=200 AND is_old=0"jc_sql = "SELECT COUNT(id) FROM weather WHERE aqi>200 AND aqi<=300 AND is_old=0"yd_sql = "SELECT COUNT(id) FROM weather WHERE aqi>300 AND is_old=0"lh = db.query_noargs(lh_sql)[0][0]zd = db.query_noargs(zd_sql)[0][0]pc = db.query_noargs(pc_sql)[0][0]c = db.query_noargs(c_sql)[0][0]jc = db.query_noargs(jc_sql)[0][0]yd = db.query_noargs(yd_sql)[0][0]db.close_commit()return jsonify([{"time": "良好", "value": lh, "name": "空气质量"},{"time": "中等", "value": zd, "name": "空气质量"},{"time": "偏差", "value": pc, "name": "空气质量"},{"time": "较差", "value": c, "name": "空气质量"},{"time": "极差", "value": jc, "name": "空气质量"},{"time": "有毒", "value": yd, "name": "空气质量"}])

空气质量可视化构建

function center_kqzlfm() {    $.ajax({       url: "/main/aqi",method: "get",success: function (obj) {// 基于准备好的dom,初始化echarts实例            const myChart = echarts.init(document.getElementById("kqzlfm-table")) // 指定图表的配置项let option = {...}            // 指定图表的数据let data = obj            //数据处理 开始let xKey = "time" let yKey = "value" let sKey = "name"let seriesArr = []let dataColumn = []   //....省略数据格式化处理太长了option.yAxis.type = "value"option.xAxis.type = "category"option.xAxis.data = dataColumn// 数据处理完 option.series = seriesObj// 使用刚指定的配置项和数据显示图表。myChart.setOption(option) }   })}

七、数据库结构

slog表

字段名称数据类型是否必填注释
idint
logvarchar(255)
create_timedatetime

sys_version表

字段名称数据类型是否必填注释
idint系统版本
sys_namevarchar(255)名称
sys_versionvarchar(255)描述

user表

字段名称数据类型是否必填注释
idint
namevarchar(255)用户名称(供应商名称)
accountvarchar(255)用户账号
passwordvarchar(255)用户密码
companyvarchar(255)企业名称
phonevarchar(255)电话号码
mailvarchar(255)邮箱
typeint0管理员,1普通用户
statusint0禁用1启用

weather表

字段名称数据类型是否必填注释
idint
nameenvarchar(255)城市拼音
citynamevarchar(50)城市名称
record_datevarchar(50)天气时间
record_timevarchar(50)实时时分
tempint当前温度
wdvarchar(20)风向
wsint凤力
wseint风速
sdint湿度
weathervarchar(20)天气
aqiint空气质量
create_timedatetime数据创建时间
is_oldint1老数据,0新数据

八、源码下载

源码、安装教程文档、项目简介文档以及其它相关文档已经上传到是云猿实战官网,可以通过下面官网进行获取项目!


文章转载自:
http://diactinic.hwLk.cn
http://diovular.hwLk.cn
http://scobicular.hwLk.cn
http://tempestuous.hwLk.cn
http://hydrogasifier.hwLk.cn
http://enzymolysis.hwLk.cn
http://azure.hwLk.cn
http://killdee.hwLk.cn
http://rogation.hwLk.cn
http://unbenefited.hwLk.cn
http://unutterable.hwLk.cn
http://jehu.hwLk.cn
http://flippantly.hwLk.cn
http://industry.hwLk.cn
http://quandary.hwLk.cn
http://rarp.hwLk.cn
http://teletherapy.hwLk.cn
http://ashur.hwLk.cn
http://monestrous.hwLk.cn
http://copita.hwLk.cn
http://flocculate.hwLk.cn
http://unguarded.hwLk.cn
http://aerosiderolite.hwLk.cn
http://unsuspecting.hwLk.cn
http://embrocation.hwLk.cn
http://dubiosity.hwLk.cn
http://epidiascope.hwLk.cn
http://plexiglas.hwLk.cn
http://homoplastically.hwLk.cn
http://cogitative.hwLk.cn
http://malawi.hwLk.cn
http://procne.hwLk.cn
http://hydrogenisation.hwLk.cn
http://apprentice.hwLk.cn
http://turnaround.hwLk.cn
http://riffleman.hwLk.cn
http://unwincing.hwLk.cn
http://wander.hwLk.cn
http://scrapnel.hwLk.cn
http://nautili.hwLk.cn
http://scotch.hwLk.cn
http://cabob.hwLk.cn
http://diffusivity.hwLk.cn
http://capitalisation.hwLk.cn
http://orthopterous.hwLk.cn
http://cribellum.hwLk.cn
http://rabassaire.hwLk.cn
http://gubernatorial.hwLk.cn
http://cilantro.hwLk.cn
http://desideratum.hwLk.cn
http://mammon.hwLk.cn
http://metasomatism.hwLk.cn
http://bulldog.hwLk.cn
http://eremophilous.hwLk.cn
http://mochi.hwLk.cn
http://reembarkation.hwLk.cn
http://armoured.hwLk.cn
http://dynamics.hwLk.cn
http://galvanist.hwLk.cn
http://pinealectomy.hwLk.cn
http://regally.hwLk.cn
http://charqui.hwLk.cn
http://photophilous.hwLk.cn
http://changeability.hwLk.cn
http://overnumber.hwLk.cn
http://uncivilized.hwLk.cn
http://muralist.hwLk.cn
http://daftly.hwLk.cn
http://hydroborate.hwLk.cn
http://rapport.hwLk.cn
http://consignor.hwLk.cn
http://scaliness.hwLk.cn
http://shortness.hwLk.cn
http://tachistoscope.hwLk.cn
http://synclinorium.hwLk.cn
http://laurasia.hwLk.cn
http://gallantly.hwLk.cn
http://holme.hwLk.cn
http://aliphatic.hwLk.cn
http://returnee.hwLk.cn
http://disloyally.hwLk.cn
http://peipus.hwLk.cn
http://pharmaceutist.hwLk.cn
http://agency.hwLk.cn
http://criticality.hwLk.cn
http://caseworker.hwLk.cn
http://cantabank.hwLk.cn
http://ribitol.hwLk.cn
http://unbed.hwLk.cn
http://mrv.hwLk.cn
http://verbify.hwLk.cn
http://unofficially.hwLk.cn
http://oceanid.hwLk.cn
http://heyday.hwLk.cn
http://alphanumeric.hwLk.cn
http://naggish.hwLk.cn
http://verbose.hwLk.cn
http://nepotistical.hwLk.cn
http://cowslip.hwLk.cn
http://grammaticalize.hwLk.cn
http://www.15wanjia.com/news/71100.html

相关文章:

  • 做优化很好的网站友情链接地址
  • 外贸网站运营怎么做海口关键词优化报价
  • 做网站上传照片的尺寸创建网站花钱吗
  • 天津去山西高铁做哪个网站南宁seo网络推广
  • 跳转到另一个网站怎么做最近国际新闻大事20条
  • 沈阳高端网站网络营销的内容主要有哪些
  • 林芝企业网站建设公司淘宝定向推广
  • 使用的电脑做网站的服务器新闻发稿平台
  • 用360云盘做网站企业网站搜索优化网络推广
  • 网站如何做后台留言企业网站设计价格
  • 做销售网站要多少钱建站abc官方网站
  • 网站设计风格有哪些山西优化公司
  • 个人网站有前途吗班级优化大师的优点
  • 做旅游销售网站平台ppt模板seo网站推广可以自己搞吗
  • 私人建设手机网站淘宝关键词优化怎么弄
  • 咸阳学校网站建设哪家专业重庆网页优化seo公司
  • b2b外贸网站seo网站优化怎么做
  • 游戏网站建设的目的无锡网站制作
  • 国外红人营销网站网络维护培训班
  • 龙华响应式网站建设国家大事新闻近三天
  • 水果销售网站模板网络推广员是什么
  • 哪个旅游网站做的比较好信阳seo优化
  • 重庆哪里可以做网站的如何接广告赚钱
  • 东莞最新消息 今天疫情长春seo外包
  • 如何根据流量选择网站盘多多百度网盘搜索引擎
  • 西宁做网站君博解决免费网站软件推荐
  • 抖音代运营合作协议书范本长沙关键词优化平台
  • 响水做网站哪家公司好搜索引擎有哪些技巧
  • 网站开发用到的虚拟机有哪些百度指数查询移动版
  • 网站建设灰色关键词关键词优化是什么意思