文章目录

  • 1 绪论
    • 1.1 概述
    • 1.2 课题背景
  • 2 采用技术与开发工具的简介
    • 2.1 Pthon语言的产生和发展历史
    • 2.2 Python语言的特色
    • 2.3 Python的缺点
    • 2.4 HTML定义
    • 2.5 URL的定义
    • 2.6 URL组成
    • 2.7 HTML原理
    • 2.8 Python3.8.3
    • 2.9 PyCharm Community Edition
  • 3 项目需求分析
    • 3.1 系统需求分析
    • 3.2技术可行性分析
    • 3.3经济可行性
    • 3.4法律可行性
  • 4 程序设计
    • 4.1开发环境配置
    • 4.1程序所需类的设计
    • 4.2导入到EXCEL代码
    • 4.3数据可视化模块
    • 4.4SQL存储数据
  • 5 程序测试
    • 5.1 测试方法
    • 5.2 功能测试
    • 5.3 测试总结
  • 6 总结
  • 参考文献

1 绪论

1.1 概述

随着科技进步,经济快速发展。在人们日常生活中天气的好坏一直扮演着重要的角色,天气也能影响人们心情,好的天气时,大家的心情会随着太阳的出现而变的更加美好,而阴雨连绵的天气中,各种沉闷的气息扑面而来,天气预报的主要内容是一个地区或城市未来一段时期内的阴晴雨雪、最高最低气温、风向和风力及特殊的灾害性天气。就中国而言,气象台准确预报寒潮、台风、暴雨等自然灾害出现的位置和强度,就可以直接为工农业生产和群众生活服务。随着生产力的发展和科学技术的进步,人类活动范围空前扩大,对大自然的影响也越来越大,因而天气预报就成为现代社会不可缺少的重要信息。
天气预报是根据气象观测资料,应用天气学、动力气象学、统计学的原理和方法,对某区域或某地点未来一定时段的天气状况做出定性或定量的预测。它是大气科学研究的一个重要目标,对人们生活有重要意义

1.2 课题背景

社会需求永远是天气预报发展的动力。我国是一个多灾害的国家, 气象灾害是自然灾害中最为频繁而又严重的灾害。干旱、洪涝、台风、暴雨、冰雹等灾害性天气危害人民生命财产和国民经济建设 。随着现代经济的高速发展, 自然灾害造成的损失呈上升趋势, 直接影响着社会和国民经济的可持续发展。据不完全统计,每年气象灾害造成的损失占自然灾害造成的经济损失总数的 70 %以上,约占国民生产总值的3 %~5 %。最大限度地降低和减轻天气灾害对人民生命财产安全和国民经济的影响, 防灾、减灾、保障生产和社会需要是气象部门的重要任务, 及时准确的气象预警预报是防灾[1]。
面对天气的变化,古人总结很多对于天气的知识例如前650年左右巴比伦人使用云的样子来预测天气。前340年左右亚里士多德在他的《天象论》中描写了不同的天气状态。中国人至少在前300年左右有进行天气预报的纪录。古代天气预报主要是依靠一定的天气现象,比如人们观察到晚霞之后往往有好天气。这样的观察积累多了形成了天气谚语。不过也有许多谚语后来被证明是不正确的。
从17世纪开始科学家开始使用科学仪器(比如气压表)来测量天气状态,并使用这些数据来做天气预报。在很长时间里人们只能使用当地的气象数据来做天气预报,因为当时人们无法快速地将数据传递到远处。在1837年电报被发明后人们才能够使用大面积的气象数据来做天气预报。
20世纪的气象学发展迅速。人类对大气过程了解也越来越明确。1970年代数字天气预测随电脑硬件发展出现并且发展迅速,今天成为天气预报最主要的方式。在1853~1856年,为争夺巴尔干半岛,沙皇俄国同英法两国爆发了克里木战争,结果是沙俄战败,正是这次战争,导致了天气预报的出现。
这是一场规模巨大的海战,1854年11月14日,当双方在欧洲的黑海展开激战时,风暴突然降临,最大风速超过每秒30米,海上掀起了万丈狂澜,让英法舰队险些全军覆没。事后,英法联军仍然心有余悸,法军作战部要求法国巴黎天文台台长勒佛里埃仔细研究这次风暴的来龙去脉。那时还没有电话,勒佛里埃只有写信给各国的天文、气象工作者,向他们收集1854年11月12~16日5天内当地的天气情报。他一共收到250封回信。勒佛里埃根据这些资料,经过认真分析、推理和判断,查明黑海风暴来自茫茫的大西洋,自西向东横扫欧洲,在出事前两天, 1854年11月12日和1854年13日,欧洲西部的西班牙和法国已先后受到它的影响。勒佛里埃望着天空飘忽不定的云层,陷入了沉思:“这次风暴从表面上看来得突然,实际上它有一个发展移动的过程。电报已经发明了,如果当时欧洲大西洋沿岸一带设有一些气象站,及时把风暴的情况电告英法舰队,不就可避免惨重的损失吗?”于是,1855年3月16日,勒佛里埃在法国科学院作报告说,假如组织气象站网,用电报迅速把观测资料集中到一个地方,分析绘制成天气图,就有可能推断出未来风暴的运行路径。勒佛里埃的独特设想,在法国乃至世界各地引起了强烈反响。人们深刻认识到,准确预测天气,不仅有利于行军作战,而且对工农业生产和日常生活都有极大的好处。由于社会上各方面的需要,在勒佛里埃的积极推动下,1856年,法国成立了世界上第一个正规的天气预报服务系统。
天气预报的诞生历史说明,气象条件可以影响局部战争或战役的胜败,而由于战争的需要,又推动和发展了气象事业。气候变化会牵涉到整个大气、海洋、大陆、冰雪和生物圈在内的庞大气候系统,气候变化的预测特别是短期气候变化的预测越来越受到关注。短期气候变化是指时间尺度从2周以上到季度以及年际的大气环流的变化。一般而言, 大气运 动的时间尺度越长, 它的空间尺度也越大[2],气候的变化对于天气的影响也是非常大的。

2 采用技术与开发工具的简介

2.1 Pthon语言的产生和发展历史

Python是一种面向对象、直译式计算机程序设计语言。其语法简捷而清晰、可读性强、便于维护, 并且具有丰富和强大的类库[3-4]。
Python的作者,Guido von Rossum,荷兰人。1989年圣诞节期间,在阿萨姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC语言的一种继承,选中Python(根据英国广播公司的节目“蟒蛇飞行马戏”)作为程序的名字[5]。
1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。 Python语法很多来自C,但又受到ABC语言的强烈影响。来自ABC语言的一些规定直到今天还富有争议,比如强制缩进。 但这些语法规定让Python容易读。另一方面,Python聪明的选择服从一些惯例,特别是C语言的惯例,比如回归等号赋值。Guido认为,如果“常识”上确立的东西,没有必要过度纠结。
Python从一开始就特别在意可拓展性。Python可以在多个层次上拓展。从高层上,你可以直接引入. py文件。在底层,你可以引用C语言的库。Python程序员可以快速的使用Python写. py文件作为拓展模块。但当性能是考虑的重要因素时,Python程序员可以深入底层,写C程序,编译为.so文件引入到Python中使用[5]。Python就好像是使用钢构建房一样,先规定好大的框架。而程序员可以在此框架下相当自由的拓展或更 改。 最初的Python完全由Guido本人开发。Python得到Guido同事的欢迎。他们迅速的反馈使用意见,并参与到Python的改进。Guido和一些同事构成Python的核心团队。他们将自己大部分的业余时间用于hack Python。随后,Python拓 展到研究所之外。Python将许多机器层面上的细节隐藏,交给编译器处理,并凸显出逻辑层面的编程思考。Python程序员可以花更多的时间用于思考程序的逻辑,而不是具体的实现细节。这一特征吸引了广大的程序员。Python开始流行。
Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。Python在TIOBE排行榜中排行第八,它是Google的第三大开发语言,Dropbox的基础语言,豆瓣的服务器语言。Python的发展史可以作为一个代表,带给我许多启示。 在Python的开发过程中,社区起到了重要的作用。Guido自认为自己不是全能型的程序员,所以他只负责制订框架。如果问题太复杂,他会选择绕过去,也就是cut the corner。这些问题最终由社区中的其他人解决。社区中的人才是异常丰富的,就连创建网站,筹集基金这样与开发稍远的事情,也有人乐意于处理。如今的项目开发越来越复杂,越来越庞大,合作以及开放的心态成为项目最终成功的关键。 Python从其他语言中学到了很多,无论是已经进入历史的ABC,还是依然在使用的C和Perl,以及许多有列出的其他语言。可以说,Python的成功代表了它所有借鉴的语言的成功[6]。

2.2 Python语言的特色

简单易学:Python语言相对于其他编程语言来说,属于比较容易学习的一门编程语言,它注重的是如何解决问题而不是编程语言的语法和结构。正是因为Python语言简单易学,所以,已经有越来越多的初学者选择Python语言作为编程的入门语言。例如,在浙江省2017年高中信息技术改革中,《算法与程序设计》课程将使用Python语言替换原有的VB语言。
语法优美:Python语言力求代码简洁、优美。在Python语言中,采用缩进来标识代码块,通过减少无用的大括号,去除语句末尾的分号等视觉杂讯,使得代码的可读性显著提高。阅读一段良好的Python程序就感觉像是在读英语一样,它使你能够专注于解决问题,而不用太纠结编程语言本身的语法。
丰富强大的库:Python语言号称自带电池(BatteryIncluded),寓意是Python语言的类库非常的全面,包含了解决各种问题的类库。无论实现什么功能,都有现成的类库可以使用。如果一个功能比较特殊,标准库没有提供相应的支持,那么,很大概率也会有相应的开源项目提供了类似的功能。合理使用Python的类库和开源项目,能够快速的实现功能,满足业务需求。
开发效率高:Python的各个优点是相辅相成的。例如,Python语言因为有了丰富强大的类库,所以,Python的开发效率能够显著提高。相对于C、C++和Java等编译语言,Python开发者的效率提高了数倍。实现相同的功能,Python代码的文件往往只有C、C++和Java代码的1/5~1/3。虽然Python语言拥有很多吸引人的特性,但是,各大互联网公司广泛使用Python语言,很大程度上是因为Python语言开发效率高这个特点。开发效率高的语言,能够更好的满足互联网快速迭代的需求,因此,Python语言在互联网公司使用非常广泛。
应用领域广泛:Python语言的另一大优点就是应用领域广泛,工程师可以使用Python做很多的事情。例如,Web开发、网络编程、自动化运维、Linux系统管理、数据分析、科学计算、人工智能、机器学习等等。Python语言介于脚本语言和系统语言之间。有不错的学习视频教程、开发工具与电子书籍。Python企业当下人才需求及怎么从零基础学习好Python,和学习什么内容。

2.3 Python的缺点

毫无疑问,Python确实有用很多的优点,每一个优点看起来都非常吸引人。但是,Python并不是没有缺点的,最主要的缺点有以下几个:
Python的执行速度不够快。当然,这也不是一个很严重的问题,一般情况下,我们不会拿Python语言与C/C++这样的语言进行直接比较。在Python语言的执行速度上,一方面,网络或磁盘的延迟,会抵消掉部分Python本身消耗的时间;另一方面,因为Python特别容易和C结合起来,因此,我们可以通过分离一部分需要优化速度的应用,将其转换为编译好的扩展,并在整个系统中使用Python脚本将这部分应用连接起来,以提高程序的整体效率。
Python的GIL锁限制并发:Python的另一个大问题是,对多处理器支持不好。如果读者接触Python时间比较长,那么,一定听说过GIL这个词。GIL是指Python全局解释器锁(GlobalInterpreterLock),当Python的默认解释器要执行字节码时,都需要先申请这个锁。这意味着,如果试图通过多线程扩展应用程序,将总是被这个全局解释器锁限制。当然,我们可以使用多进程的架构来提高程序的并发,也可以选择不同的Python实现来运行我们的程序。
Python2与Python3不兼容:如果一个普通的软件或者库,不能够做到后向兼容,那么,它会被用户无情的抛弃了。在Python中,一个槽点是Python2与Python3不兼容。因为Python没有向后兼容,给所有的Python工程师带来了无数的烦恼。

2.4 HTML定义

HTML(HyperText Mark-up Language)是标准通用标记语言下的一个应用,也是一种规范,一种标准, 它通过标记符号来标记要显示的网页中的各个部分,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。
设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。
我们只需使用鼠标在某一文档中点取一个图标,Internet就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑中。 HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。

2.5 URL的定义

统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

2.6 URL组成

URL的格式由三部分组成:
(1)第一部分是协议(或称为服务方式);
(2)第二部分是存有该资源的主机IP地址(有时也包括端口号);
(3)第三部分是主机资源的具体地址,如目录和文件名等。
第一部分和第二部分用“

基于Python爬取福建省莆田市天气预报数据获取与预处理的设计与实现相关推荐

  1. 从入门到入土:基于Python爬取四川大学所有官方网站|狗头保命|

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  2. 基于python爬取有道翻译,并在线翻译

    基于python爬取有道翻译,并在线翻译 由于我也是爬虫新学者,有什么做的不对的请多加包涵 我们需要使用的库如下 from urllib import request import urllib im ...

  3. python关于二手房的课程论文_基于python爬取链家二手房信息代码示例

    基本环境配置 python 3.6 pycharm requests parsel time 相关模块pip安装即可 确定目标网页数据 哦豁,这个价格..................看到都觉得脑阔 ...

  4. 基于python爬取母婴用品评论的数据分析

    目录 摘 要 I Abstract II 1 绪论 4 1.1 背景及意义 4 1.1.1 背景 4 1.1.2 目标及意义 4 1.2 应用现状 4 1.3 数据模型及主要板块 5 1.3.1数据模 ...

  5. python证券_基于Python爬取搜狐证券股票过程解析

    数据的爬取 我们以上证50的股票为例,首先需要找到一个网站包含这五十只股票的股票代码,例如这里我们使用搜狐证券提供的列表. 可以看到,在这个网站中有上证50的所有股票代码,我们希望爬取的就是这个包含股 ...

  6. python分支机构_基于Python爬取天眼查网站的企业信息!Python无所不能!

    注:这是一个在未登录的情况下,根据企业名称搜索,爬取企业页面数据的采集程序,是一个比较简单的爬虫,基本上只用到了代理,没有用到其他的反反爬技术,不过由于爬取的数据比较多, 适合刷解析技能的熟练度 . ...

  7. 【学习记录】基于python爬取Flickr图片及元数据

    为复现师姐论文成果,爬取Flickr网站数据,只需爬取图片元数据,无需爬取图片: (一已成功,二失败了,这里记录给自己看.) 一.用Python的icrawler包 icrawler是一个轻型框架,自 ...

  8. 【大数据】城市公交网络分析与可视化(一):基于Python爬取公交车行驶路径等基本信息

    博客内容介绍 借助高德地图API,爬取指定公交线路(国内绝大多数线路,给定城市名和路线名即可)的始发站.终点站.行驶路径(行车轨迹).站点名称和坐标.行驶距离等与公交车有关的基本信息,并将其保存到Ex ...

  9. python爬取网页数据流程_基于Python爬取fofa网页端数据过程解析

    FOFA-网络空间安全搜索引擎是网络空间资产检索系统(FOFA)是世界上数据覆盖更完整的IT设备搜索引擎,拥有全球联网IT设备更全的DNA信息.探索全球互联网的资产信息,进行资产及漏洞影响范围分析.应 ...

最新文章

  1. hive快还是mysql快_HBase相对Hive查询速度快的对比
  2. stand up meeting 12/8/2015
  3. 转: 理解RESTful架构
  4. python简易停车系统
  5. 应用迁移方案_Kubernetes如何成为迁移旧版应用程序的解决方案
  6. 一批恶意Google Play应用窃取用户银行信息
  7. 稳压二极管的原理和伏安特性
  8. 使用函数求余弦函数的近似值
  9. Radon变换及其Matlab代码实现
  10. java微信提现_关于Java调用微信、支付宝支付提现
  11. oracle. 设置参数 sid,更改Oracle数据库的SID
  12. 华夏ERP前端的问题解决
  13. LD、CD、VCD、SVCD、DVD、DVCD、HDCD
  14. 中山マミ - 彼女×彼女×彼女 ~今夜はぎゅっと抱きしめてね~
  15. Cookie、Session、Token、JWT 看一篇就够了
  16. Kryo:快速、高效的序列化框架
  17. 程序员前世今生,从门外汉到菜鸟,再到独当一面,再到思变转行
  18. 知识点复习23 Mysql04
  19. Ubuntu16.04成功解决InvalidSpecError: Invalid spec: =2.7!!!
  20. linux cads

热门文章

  1. 推荐一个不到2MB的C#开发工具箱,集成了上千个常用操作类
  2. 回溯算法(回溯搜索法)
  3. 软件复用的优点,举例描述支持软件复用的方法和内容。
  4. 华为AR路由器镜像端口配置及取消配置
  5. 记录:google map谷歌地图自定义叠加层overlay流程
  6. CSS背景属性、定位
  7. AdaBoost 算法解析
  8. [论文解析] Diffusion Models Beat GANs on Image Synthesis
  9. 降维方法(LDA、PCA、KLDA、MDS和ISOMAP)总结
  10. es的基本操作(创建索引,添加数据,删除数据,判断索引是否存在)