如何免费获得一个市全年的气象数据?降雨量气温湿度太阳辐射等等数据

     气象数据一直是一个价值较高的数据,它被广泛用于各个领域的研究当中。气象数据包括有气温、气压、相对湿度、降水、蒸发、风向风速、日照等多种指标,但是包含了这些全部指标的气象数据却较难获取,即使获取到了也不能随意分享。

        想要大规模爬取的话,需要自己写爬虫,之前写过一个爬取深圳市数据的爬虫。对深圳市的天气数据爬取基本没有问题。

import requests
import demjson
import re
import calendar
import csvheaders = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36\(KHML, like Gecko) Chrome/52.0.2743.116 Safari/537.36',
}def get_url(date):url = 'https://www.timeanddate.com/scripts/cityajax.php?n=china/shenzhen&mode=historic'url += '&hd=' + dateurl += '&month=' + str(int(date[4:6]))url += '&year=' + date[:4] + '&json=1'return url# input: type(str) eg:'20170601'
def crawl_single_day(date):response = requests.get(get_url(date), headers=headers)response_list = demjson.decode(response.text)for weather in response_list:w_time = re.compile(r'^\d+:\d+').search(weather['c'][0]['h']).group(0)w_temperature = re.compile(r'^-?\d+').search(weather['c'][2]['h']).group(0)w_weather = re.compile(r'^(.*?)\.').search(weather['c'][3]['h']).group(1)if weather['c'][4]['h'] == 'No wind':w_wind_speed = '0'else:w_wind_speed = re.compile(r'^\d+').search(weather['c'][4]['h']).group(0)w_wind_direction = re.compile(r'title=\"(.*?)\"').search(weather['c'][5]['h']).group(1)w_humidity = weather['c'][6]['h']w_barometer = re.compile(r'^\d+').search(weather['c'][7]['h']).group(0)w_visibility = weather['c'][8]['h']if w_visibility != 'N/A':w_visibility=re.compile(r'^\d+').search(w_visibility).group(0)yield [date, w_time, w_temperature, w_weather, w_wind_speed, w_wind_direction,w_humidity, w_barometer, w_visibility]# input: type(int) eg: year=2017, month=6
def crawl_single_month(year, month):_, num_day = calendar.monthrange(year, month)month_str = str(year)if month < 10:month_str += '0' + str(month)else:month_str += str(month)day_list = list(range(1, num_day + 1))for day in day_list:if day < 10:for weather in crawl_single_day(month_str + '0' + str(day)):yield weatherelse:for weather in crawl_single_day(month_str + str(day)):yield weatherif __name__ == "__main__":with open('weather0.csv', 'w', encoding='utf-8', newline='') as file:writer = csv.writer(file)writer.writerow('date time temperature weather wind_speed wind_direction humidity barometer visibility'.split())for month in range(7, 13):writer.writerows(crawl_single_month(2017, month))with open('weather1.csv', 'w', encoding='utf-8', newline='') as file:writer = csv.writer(file)writer.writerow('date time temperature weather wind_speed wind_direction humidity barometer visibility'.split())writer.writerows(crawl_single_day('20210401'))

对 20210401的深圳天气数据爬取获得的 csv 文件如下图所示:

 

当然啦,需求量比较大的话,可以通过地理遥感生态网平台获取气象数据。 

地理遥感生态网平台发布的气象数据包括有气温、气压、相对湿度、降水、蒸发、风向风速、日照太阳辐射等等多种指标。

1级目录

文件名

PRS

SURF_CLI_CHN_MUL_DAY-PRS-10004-YYYYMM.TXT(本站气压)

TEM

SURF_CLI_CHN_MUL_DAY-TEM-12001-YYYYMM.TXT(气温)

RHU

SURF_CLI_CHN_MUL_DAY-RHU-13003-YYYYMM.TXT(相对湿度)

PRE

SURF_CLI_CHN_MUL_DAY-PRE-13011-YYYYMM.TXT(降水)

EVP

SURF_CLI_CHN_MUL_DAY-EVP-13240-YYYYMM.TXT(蒸发)

WIN

SURF_CLI_CHN_MUL_DAY-WIN-11002-YYYYMM.TXT(风向风速)

SSD

SURF_CLI_CHN_MUL_DAY-SSD-14032-YYYYMM.TXT(日照)

GST

SURF_CLI_CHN_MUL_DAY-GST-12030-0cm-YYYYMM.TXT(0cm地温)
 

原文链接:https://bbs.csdn.net/forums/gisrs?spm=1001.2014.3001.6682

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抽象的java发送邮箱2.0版本

优化了更多细节 SpringBoot3&#xff1a;前置框架 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jdbc</artifactId></dependency><dependency><groupId>org.springframewo…

【工具】Git的24种常用命令

相关链接 传送门&#xff1a;>>>【工具】Git的介绍与安装<< 1.Git配置邮箱和用户 第一次使用Git软件&#xff0c;需要告诉Git软件你的名称和邮箱&#xff0c;否则无法将文件纳入到版本库中进行版本管理。 原因&#xff1a;多人协作时&#xff0c;不同的用户可…

Python匿名函数有知道的吗?

1.函数 按照函数是否有名字分为有名字的函数和匿名函数 匿名函数&#xff1a;定义函数时&#xff0c;不再使用def关键字声明函数&#xff0c;而是使用lambda表达式 匿名函数在需要执行简单的操作时非常有用&#xff0c;可以减少代码冗余 2.有名字的函数 def fn(n):return …

【Redis知识点总结】(二)——Redis高性能IO模型剖析

Redis知识点总结&#xff08;二&#xff09;——Redis高性能IO模型及其事件驱动框架剖析 IO多路复用传统的阻塞式IO同步非阻塞IOIO多路复用机制 Redis的IO模型Redis的事件驱动框架 IO多路复用 Redis的高性能的秘密&#xff0c;在于它底层使用了IO多路复用这种高性能的网络IO&a…

ARTS Week 20

Algorithm 本周的算法题为 1222. 可以攻击国王的皇后 在一个 下标从 0 开始 的 8 x 8 棋盘上&#xff0c;可能有多个黑皇后和一个白国王。 给你一个二维整数数组 queens&#xff0c;其中 queens[i] [xQueeni, yQueeni] 表示第 i 个黑皇后在棋盘上的位置。还给你一个长度为 2 的…

Linux上安装torch-geometric(pyg)1.7.2踩坑记录

重点&#xff1a;1.一定要在创建虚拟环境的时候设置好python版本。2.一定要先确定使用1.X还是2.X的pyg库&#xff0c;二者不兼容。3.一定要将cuda、torch、pyg之间的版本对应好。所以&#xff0c;先确定pyg版本&#xff0c;再确定torch和cuda的版本。 结论&#xff1a;如果在u…

【兔子机器人】修改GO电机id(软件方法、硬件方法)

一、硬件方法 利用上位机直接修改GO电机的id号&#xff1a; 打开调试助手&#xff0c;点击“调试”&#xff0c;查询电机&#xff0c;修改id号&#xff0c;即可。 但先将四个GO电机连接线拔掉&#xff0c;不然会将连接的电机一并修改。 利用24V电源给GO电机供电。 二、软件方…

UDP与TCP:了解这两种网络协议的不同之处

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

实验二(一):IPV4编址及IPV4路由基础实验

一实验介绍 1.关于本实验 IPv4( Internet Protocol Version 4)是 TCP/IP 协议族中最为核心的协议之一。 它工作在 TCP/IP参考模型的网际互联层&#xff0c;该层与 OSI参考模型的网络层相对应。 网络层提供了无连接数据传输服务&#xff0c;即网络在发送分组时不需要先建立连…

BDD - Python Behave log 为每个 Scenario 生成对应的 log 文件

BDD - Python Behave log 为每个 Scenario 生成对应的 log 文件 引言应用 Behave 官网 Log 配置文件项目 SetupFeature 文件steps 文件Log 配置文件environment.py 文件behave.ini 执行结果 直接应用 Python logging 模块方式 1&#xff1a;应用 log 配置文件log 配置文件envir…

ubuntu23.10安装搜狗拼音

1.添加fcitx仓库 sudo add-apt-repository ppa:fcitx-team/nightly 更新: sudo apt-get update 安装fcitx sudo apt-get install fcitx fcitx安装成功 切换输入系统为fcitx

git命令行提交——github

1. 克隆仓库至本地 git clone 右键paste&#xff08;github仓库地址&#xff09; cd 仓库路径&#xff08;进入到仓库内部准备提交文件等操作&#xff09; 2. 查看main分支 git branch&#xff08;列出本地仓库中的所有分支&#xff09; 3. 创建新分支&#xff08;可省…

Flink概述

1.什么是Flink 是一个框架和分布式处理引擎&#xff0c;用于对无界和有界数据流进行有状态计算。 官网&#xff1a;Flink 2.Flink的发展历史 Flink起源于一个叫作Stratosphere的项目&#xff0c;它是由3所地处柏林的大学和欧洲其他一些大学在2010~2014年共同进行的研究项目&a…

Yolov8模型用torch_pruning剪枝

目录 &#x1f680;&#x1f680;&#x1f680;订阅专栏&#xff0c;更新及时查看不迷路&#x1f680;&#x1f680;&#x1f680; 原理 遍历所有分组 高级剪枝器 &#x1f680;&#x1f680;&#x1f680;订阅专栏&#xff0c;更新及时查看不迷路&#x1f680;&#x1f680…

【重新定义matlab强大系列十七】Matlab深入浅出长短期记忆神经网络LSTM

&#x1f517; 运行环境&#xff1a;Matlab &#x1f6a9; 撰写作者&#xff1a;左手の明天 &#x1f947; 精选专栏&#xff1a;《python》 &#x1f525; 推荐专栏&#xff1a;《算法研究》 #### 防伪水印——左手の明天 #### &#x1f497; 大家好&#x1f917;&#x1f91…

NPP VIIRS卫星数据介绍及获取

VIIRS&#xff08;Visible infrared Imaging Radiometer&#xff09;可见光红外成像辐射仪。扫描式成像辐射仪&#xff0c;可收集陆地、大气、冰层和海洋在可见光和红外波段的辐射图像。它是高分辨率辐射仪AVHRR和地球观测系列中分辨率成像光谱仪MODIS系列的拓展和改进。VIIRS数…

java 数据结构二叉树

目录 树 树的概念 树的表示形式 二叉树 两种特殊的二叉树 二叉树的性质 二叉树的存储 二叉树的基本操作 二叉树的遍历 二叉树的基本操作 二叉树oj题 树 树是一种 非线性 的数据结构&#xff0c;它是由 n &#xff08; n>0 &#xff09;个有限结点组成一个具有层次…

vs创建asp.net core webapi发布到ISS服务器

打开服务器创建test123文件夹&#xff0c;并设置共享。 ISS配置信息&#xff1a; 邮件网站&#xff0c;添加网站 webapi asp.net core发布到ISS服务器网页无法打开解决方法 点击ISS Express测试&#xff0c;可以成功打开网页。 点击生成&#xff0c;发布到服务器 找到服务器IP…

OJ_复数集合

题干 C实现 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <queue> #include <string> using namespace std;struct Complex {int re;int im;//构造函数Complex(int _re, int _im) {//注意参数名字必须不同re _re;im _im;} };//结构体不支…

新闻文章分类项目

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 新闻文章分类模型比较项目报告 项目介绍 背景 新闻文章自动分类是自然语言处理和文本挖掘领域的一个重要任务。正确分类新闻文章不仅能帮助用…