计算机毕业设计python+spark天气预测 天气可视化 天气大数据 空气质量检测 空气质量分析 气象大数据 气象分析 大数据毕业设计 大数据毕设

摘  要

近些年大数据人工智能等技术发展迅速,我国工业正努力从“制造”迈向“智造”实现新跨越。神经网络(NeuronNetwork)是一种计算模型,通过大量数据的学习,来发现数据之间的模式和规律,模仿人脑神经元的工作方式。随着算力的提升和算法的不断成熟图像识别技术已经完全融入到生活中,卷积神经网络算法在识别领域尤为成熟,卷积神经网络模型CNN通常用于影像识别案例,通过模型训练计算机也能像大脑一样抓取图像特征识别出图片影像中的物体符号等,比如人脸识别中快速匹配身份信息,天气识别等。一直以来,人类关注气象预报都是其中的一个热点。对于农业、交通、旅游等领域,准确的气象预报必不可少。随着技术的发展,气象预测领域广泛使用神经网络。

本文将以卷积神经网络为基础,对天气预测方法进行探讨,并对其优点及局限性进行分析。在气象预报中,利用历史气象资料作为输入,通过训练神经网络,预测未来几个小时的天气状况、研究天气变化规律。该系统对数据进行预处理后,利用处理后的数据构建预测模型,自动收集包括时间、最高温度、最低温度、天气状况等在内的多个气象数据源的历史和实时气象数据。通过CNN卷积层识别图像特定线条,池化层减小图像数据量提升辨识率,全连接层来做最后的识别判断进而预测天气。

本系统主要功能是基于卷积神经网络算法实现对天气场景的实时预测,技术上基于TensorFlow框架前端采用了广泛使用的HTML与JQuery,后端基于Django框架搭建后端管理。

关键词卷积神经网络算法;爬虫;天气识别;可视化

核心算法代码分享如下:

import requests
from bs4 import BeautifulSoup
import csv
import json

from lxml import etree


def getHTMLtext(url):
    """请求获得网页内容"""
    try:
        r = requests.get(url, timeout = 30)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        print("成功访问")
        return r.text
    except:
        print("访问错误")
        return" "

def get_content(html):


    """处理得到有用信息保存数据文件"""



    final = []          # 初始化一个列表保存数据
    bs = BeautifulSoup(html, "html.parser")  # 创建BeautifulSoup对象
    body = bs.body
    data = body.find('div', {'id': '7d'})    # 找到div标签且id = 7d
    # 下面爬取当天的数据
    data2 = body.find_all('div',{'class':'left-div'})
    text = data2[2].find('script').string
    # print(data2[1])
    # print(text)
    text = text[text.index('=')+1 :-2]   # 移除改var data=将其变为json数据
    # print(text)
    jd = json.loads(text)
    # print(jd)
    dayone = jd['od']['od2']     # 找到当天的数据
    # print(dayone)
    final_day = []           # 存放当天的数据
    count = 0
    for i in dayone:
        temp = []
        if count <= 24:
            temp.append(i['od21'])     # 添加时间
            temp.append(i['od22'])     # 添加当前时刻温度
            temp.append(i['od24'])     # 添加当前时刻风力方向
            temp.append(i['od25'])     # 添加当前时刻风级
            temp.append(i['od26'])     # 添加当前时刻降水量
            temp.append(i['od27'])     # 添加当前时刻相对湿度
            temp.append(i['od28'])     # 添加当前时刻控制质量
            # print(temp)
            final_day.append(temp)
        count = count +1
        # 下面爬取7天的数据
    ul = data.find('ul')      # 找到所有的ul标签
    li = ul.find_all('li')      # 找到左右的li标签

    i = 0     # 控制爬取的天数
    for day in li:          # 遍历找到的每一个li
        if i < 7 and i > 0:

            temp = []          # 临时存放每天的数据
            date = day.find('h1').string     # 得到日期
            date = date[0:date.index('日')]   # 取出日期号
            temp.append(date)
            inf = day.find_all('p')      # 找出li下面的p标签,提取第一个p标签的值,即天气
            temp.append(inf[0].string)

            tem_low = inf[1].find('i').string   # 找到最低气温

            if inf[1].find('span') is None:   # 天气预报可能没有最高气温
                tem_high = None
            else:
                tem_high = inf[1].find('span').string  # 找到最高气温
            temp.append(tem_low[:-1])
            if tem_high[-1] == '℃':
                temp.append(tem_high[:-1])
            else:
                temp.append(tem_high)

            wind = inf[2].find_all('span')  # 找到风向
            for j in wind:
                temp.append(j['title'])

            wind_scale = inf[2].find('i').string # 找到风级
            index1 = wind_scale.index('级')
            temp.append(int(wind_scale[index1-1:index1]))
            final.append(temp)
        i = i + 1
    return final_day,final
    #print(final)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/657426.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习】Transformer梳理

零、前言 对于transformer&#xff0c;网上的教程使用记号、术语不一 。 最关键的一点&#xff0c;网上各种图的简化程度不一 &#xff08;画个图怎么能这么偷懒&#xff09; &#xff0c;所以我打算自己手画一次图。 看到的最和善&#xff08;但是不是那么靠谱&#xff0c;我…

使用 Spring HATEOAS 开发 REST 服务-浅显的理解

随笔&#xff0c;简单理解 一、restful是什么 1、第一层次&#xff08;Level 0&#xff09;的 Web 服务只是使用 HTTP 作为传输方式&#xff0c;实际上只是远程方法调用&#xff08;RPC&#xff09;的一种具体形式。 SOAP 和 XML-RPC 都属于此类 2、第二层次&#xff08;Lev…

linux学习(六)

1.网络管理 (1)查看 ifconfig: root用户可以查看网卡状态, 普通用户: /sbin/ifconfig(需要加上命令的完整路径) (2)修改网络配置 通过命令修改网络配置 设置网卡的ip地址;禁用网卡和启用网卡了。 添加网关: (3)网络故障查询 ①ping 检测当前主机和目标主机是…

线段树例题

目录 1.Sequence 2.Peach Conference 3.Permutation Subsequence 1.Sequence 题目描述&#xff1a; Given an array a consisting of n integers, on which you are to perform m operations of two types. 1.Given two integers x,y, replace the number of index x with n…

Windows10(家庭版)中DockerDesktop(docker)的配置、安装、修改镜像源、使用

场景 Windows10中Docker的安装与遇到的那些坑: Windows10中Docker的安装与遇到的那些坑_在 docker.core.logging.httpclientexceptionintercept-CSDN博客 上面讲Docker Desktop在windows10非家庭版上的安装&#xff0c;如果是家庭版&#xff0c;则需要执行如下步骤。 注&am…

动态规划之买卖股票大集合

目录 引言 1.只能进行一次买卖股票&#xff08;最多只能买一股股票&#xff09; 2.可以进行多次股票买卖&#xff0c;且没有手续费&#xff08;最多只能买一股股票&#xff09; 3.可以进行多次股票买卖&#xff0c;但是有冷冻期&#xff0c;无手续费&#xff08;最多只能买一…

Xunsearch:实现拼音搜索和中文分词功能

首先我们需要安装xunsearch扩展库&#xff0c;参考 1、设置分词器和拼音搜索功能 在创建Xunsearch对象后&#xff0c;可以设置相应的分词器和拼音搜索功能。以下代码示例演示了如何设置分词器和拼音搜索功能&#xff1a; $index $xunsearch->index; $index->setToken…

Cesium For Unity 在Unity中无法下载的问题

Unity 下载失败&#xff0c;提供百度网盘“com.cesium.unity-1.10.0.tgz”下载链接 链接&#xff1a;https://pan.baidu.com/s/1PybXQ8EvkRofOKD6rSN66g?pwd1234 提取码&#xff1a;1234 导入方法&#xff1a; 1.打开PackageManager;Window-PackageManager 2.在PackageMan…

Leetcode621. 任务调度器

Every day a Leetcode 题目来源&#xff1a;621. 任务调度器 类似题目&#xff1a;1953. 你可以工作的最大周数 解法1&#xff1a;贪心 本质上来说&#xff0c;我们需要构造一个尽量短的&#xff0c;相同元素间隔 > (n1) 的序列。 用一个数组 cnt 统计每个任务的次数。…

【论文阅读笔记】The Google File System

1 简介 Google File System (GFS) 是一个可扩展的分布式文件系统&#xff0c;专为快速增长的Google数据处理需求而设计。这篇论文发表于2003年&#xff0c;此前已在Google内部大规模应用。 GFS不仅追求性能、可伸缩性、可靠性和可用性等传统分布式文件系统的设计目标&#xf…

如何使用 Connector API 将数据提取到 Elasticsearch Serverless 中

作者&#xff1a;来自 Elastic Jedr Blaszyk Elasticsearch 支持一系列摄取方法。 其中之一是 Elastic Connectors&#xff0c;它将 SQL 数据库或 SharePoint Online 等外部数据源与 Elasticsearch 索引同步。 连接器对于在现有数据之上构建强大的搜索体验特别有用。 例如&…

新火种AI|警钟长鸣!教唆自杀,威胁人类,破坏生态,AI的“反攻”值得深思...

作者&#xff1a;小岩 编辑&#xff1a;彩云 在昨天的文章中&#xff0c;我们提到了谷歌的AI Overview竟然教唆情绪低迷的网友“从金门大桥跳下去”。很多人觉得&#xff0c;这只是AI 模型的一次错误判断&#xff0c;不会有人真的会因此而照做。但现实就是比小说电影中的桥段…

Linux shell编程学习笔记51: cat /proc/cpuinfo:查看CPU详细信息

0 前言 2024年的网络安全检查又开始了&#xff0c;对于使用基于Linux的国产电脑&#xff0c;我们可以编写一个脚本来收集系统的有关信息。对于中央处理器CPU比如&#xff0c;我们可以使用cat /proc/cpuinfo命令来收集中央处理器CPU的信息。 1. /proc/cpuinfo 保存了系统的cpu…

【学习心得】PyTorch的知识要点复习(持续更新)

PyTorch知识要点复习&#xff0c;目的是为了巩固PyTorch基础、快速回顾、深化理解PyTorch框架。这篇文章会持续更新。 一、本文的一些说明 知识点梳理&#xff1a;我将PyTorch的核心概念和高级技巧进行了系统化的整理&#xff0c;从基础的张量操作到复杂的模型构建与训练。这样…

拉普拉斯IPO:科技与产业深度融合,实现业务领域延展

我国拥有全球最具竞争优势的光伏产业链&#xff0c;基于降本增效的需求&#xff0c;光伏产业对于技术革新具有持续的需求。拉普拉斯新能源科技股份有限公司&#xff08;以下简称“拉普拉斯”&#xff09;凭借深厚的技术积累&#xff0c;以及对光伏产业深刻的理解&#xff0c;聚…

【数据结构】AVL树——平衡二叉搜索树

个人主页&#xff1a;东洛的克莱斯韦克-CSDN博客 祝福语&#xff1a;愿你拥抱自由的风 目录 二叉搜索树 AVL树概述 平衡因子 旋转情况分类 左单旋 右单旋 左右双旋 右左双旋 AVL树节点设计 AVL树设计 详解单旋 左单旋 右单旋 详解双旋 左右双旋 平衡因子情况如…

基于ViutualBox+Ubuntu(Linux)的开发环境搭建

实际在选择虚拟机的时候纠结了要用virualbox还是vmware&#xff0c;初步比较结果&#xff1a; 1.virualbox能够使用vmware的硬盘格式&#xff0c;因此可以自由选择。 2.都能够实现主机和宿主机之间的文件夹共享。 3.virualbox是自由软件&#xff0c;vmware是商业软件。 在功能上…

Matplotlib 实践指南:图形样式、风格与标记探索

目录 前言 第一点&#xff1a;导入模块 第二点&#xff1a;创建二维图 第三点&#xff1a;创建统计图 总结 前言 Matplotlib 是一个强大的数据可视化库&#xff0c;可用于创建各种类型的图形。在本文中&#xff0c;我们将研究如何在 Matplotlib 中设置图形的颜色、风格和标记…

CANDela studio之CDDT与CDD

CDDT有更高的权限&#xff0c;作为模板规范CDD文件。 CDD可修改的内容比CDDT少。 CDDT根据诊断协议提供诊断格式&#xff0c;主要就是分类服务和定义服务&#xff0c;一般是OEM释放&#xff0c;然后由供应商细化成自己零部件的CDD文件。 在这里举个例子&#xff0c;OEM在CDDT…

Dubbo生态之初识分布式事务

1.分布式事务简介 传统的关系型数据库只能保证单个数据库中多个数据表的事务特性。一旦多个SQL操作涉及到多个数据库&#xff0c;这类的事务就无法解决跨库事务问题。在传统架构下&#xff0c;这种问题出现的情况非常少&#xff0c;但是在分布式微服务架构中&#xff0c;分布式…