千家信息网

怎么用Python来分析中秋佳节的天气

发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,本篇文章给大家分享的是有关怎么用Python来分析中秋佳节的天气,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。中秋佳节将近,不知道各位小
千家信息网最后更新 2025年02月16日怎么用Python来分析中秋佳节的天气

本篇文章给大家分享的是有关怎么用Python来分析中秋佳节的天气,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

中秋佳节将近,不知道各位小伙伴儿有没有想好去哪里玩呢。不过说实在的,每到节假日,到处都是人山人海,那句"我动也不能动",我还能唱出来哈!

但是又说回来,假期出游,除了人的因素外,天气的因素是不是也要考虑下呢,今天,我们就用Python爬虫带大家来看看,中秋小长假,哪些地方适宜出游。

获取数据

数据的获取,就从中国天气网站上直接抓取,网络上的一些 API,有的信息不是很全,只能获取最近3天的数据,有的又需要付费,还不如自己抓来的痛快。

网站也没有做什么限制,我们抓数据的时候,只需要控制好访问频率,不要影响人家的正常运行就可以。

同时还需要准备四个数据文件

  • 省会城市列表,provincial_capital

  • 全国城市 id 信息表,china-city-list.csv

  • 著名景点名称列表,attractions

  • 全国景点 id 信息表,china-scenic-list.txt

抓取的过程不再详细说明了,直接给出完整代码

# coding = utf-8"""@author: zhou@time:2019/9/5 14:36@File: main.py"""import requestsfrom bs4 import BeautifulSoupimport timeimport osdef get_data(name, city, code): print("正在下载城市%s的数据" % city) url = 'http://www.weather.com.cn/weather15d/%s.shtml' % code[2:] res = requests.get(url).content.decode() content = BeautifulSoup(res, "html.parser") weather_list = content.find('ul', attrs={'class': 't clearfix'}).find_all('li') items = map(parse_item, weather_list) save_to_csv(name, city, items) time.sleep(1)def parse_item(item): time = item.find('span', attrs={'class': 'time'}).text wea = item.find('span', attrs={'class': 'wea'}).text tem = item.find('span', attrs={'class': 'tem'}).text wind = item.find('span', attrs={'class': 'wind'}).text wind_level = item.find('span', attrs={'class': 'wind1'}).text result = { "time": time, "wea": wea, "tem": tem, "wind": wind, "wind_level": wind_level } return resultdef save_to_csv(name, city, data): if not os.path.exists('%s_data.csv' % name): with open('%s_data.csv' % name, 'a+', encoding='utf-8') as f: f.write('city,time,wea,tem,wind,wind_level\n') for d in data: try: row = '{},{},{},{},{},{}'.format(city, d['time'], d['wea'], d['tem'], d['wind'], d['wind_level']) f.write(row) f.write('\n') except: continue else: with open('%s_data.csv' % name, 'a+', encoding='utf-8') as f: for d in data: try: row = '{},{},{},{},{},{}'.format(city, d['time'], d['wea'], d['tem'], d['wind'], d['wind_level']) f.write(row) f.write('\n') except: continueif __name__ == '__main__': import pandas as pd provincial = pd.read_csv('provincial_capital') china_city_code = pd.read_csv('china-city-list.csv') china_scenic_code = pd.read_csv('china-scenic-list.txt', sep='\t') china_scenic_code.columns = ['ID', 'name', 'area', 'provincial'] attraction = pd.read_csv('attractions') provincial_data = pd.DataFrame() attraction_data = pd.DataFrame() # 省会抓取 for i in provincial['city'].values.tolist(): for j in china_city_code['City_CN'].values.tolist(): if j == i: provincial_data = pd.concat([china_city_code[china_city_code['City_CN'] == j], provincial_data]) for city in provincial_data['City_CN'].values.tolist(): city_id = provincial_data[provincial_data['City_CN'] == city]['City_ID'].values.tolist()[0] get_data('weather', city, city_id) # 景点抓取 for a in attraction['attractions'].values.tolist(): for c in china_scenic_code['name'].values.tolist(): if c == a: attraction_data = pd.concat([china_scenic_code[china_scenic_code['name'] == c], attraction_data]) for attrac in attraction_data['name'].values.tolist(): city_id = attraction_data[attraction_data['name'] == attrac]['ID'].values.tolist()[0] get_data('attraction', attrac, city_id)

省会天气分析

我们首先来看看省会天气,毕竟省会城市是每个省份的中心,也是旅游的重点城市。

降水和温度

对于降水的概率,我采取的是如果预报是有雨,则设置降水概率为80,如果是预报是晴,则降水概率为20.

weather_dict = { "snow": 100, "rain": 80, "cloud": 50, "overcast": 60, "sun": 20}

在中秋节这一天,各个省会城市的降水和温度

能够看出,大部分城市在这一天都是天公不作美的,降水的概率都非常的大。而温度的话,大概率降水的城市,温度都不是很高,早晚出行,可能还会很凉哦。温度最高的应该就是南昌了,还能达到30°C,一个艳阳高照的日子,是不是去看看革命圣地?

接下来我们再通过一个双轴图来更加直观的查看下降水和温度的情况

看来在进入9月之后,全国普遍的温度都在慢慢回落了,温度适宜出行,但是就是会伴随着绵绵的细雨呀。

再来看下几大城市在中秋前后一周的天气情况

北京

北京的气温还是比较平稳的,没有太大的波动,可能早晚一件薄外套就能hold的住,不过这几天,应该都会是阴蒙蒙的,不会有太好的阳光。

上海

上海的降水概率要比北京大一些,不过温度倒是相差不多。

杭州

杭州的平均温度还是要高一些,降水的概率也较高,毕竟典型的东南沿海城市嘛,雨天的西湖,你期待不?

成都

成都基本天天下雨了,那还出门看大熊猫嘛,这是个问题啊!

著名景区天气

下面我们再来看看一些著名景区的天气情况,我大好河山,景区太多了,只能简单列举一些最著名的地方来看看了。

降水情况

在我选取的这些景区当中,大部分都是会有降水的,不过也会有阳光明媚的地方。

比如说黄山和八达岭长城,预计会是晴天,去爬爬长城和黄山,是不错的选择。

而美丽的九寨沟和西湖等,虽说会下雨,但是在雨天漫步,也不失为一种情趣吧。

降水和温度

我们再来看看各地的温度情况

不知道为啥承德的温度会那么低,感觉去避暑已经不太合适了,而长白山已经只有7°C了,慌不慌?

降水与温度分布

最后,我们再来看看,中秋节当天,降水和气温的分布情况

降水

进入9月,东南沿海降水明显增多,京津地区也是阴雨连绵,这是一场秋雨一场寒的节奏吗!

气温

东南半壁,温度还是比较适宜的,现在的天气下,不冷不热,正是出游好温度。

亲爱的伙伴,你中秋是在哪呢?有多少是跟我一样在家躺尸的!

以上就是怎么用Python来分析中秋佳节的天气,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

温度 降水 天气 城市 概率 情况 数据 省会 著名 景区 佳节 分析 信息 全国 地方 就是 景点 气温 还是 北京 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖南一站式网络技术服务供应商家 网络安全操作标准流程 网络技术名词解释对等网 南京环保网络技术代理价钱 网络安全黑板报毕业祝福 定制app软件开发平台湖州 网络技术开发类型营业执照图片 应用软件开发人员是干嘛的 PCB设计图软件开发 如何为一个数据库创建一个模式 软件开发做什么不用出差 河南上门软件开发 幼儿园网络安全考核指标 设置ntp时间服务器 建立成本数据库 灰度发布中的数据库问题 湖北万富恒泰网络技术 软件开发 产学研合作协议 用一个界面调取数据库信息 正版直销软件开发 WPCN无线能量驱动网络技术 静安区参考网络技术服务怎么样 网络安全挑战赛郑州 云服务器怎么建容器 锡山区环保网络技术联系方式 国外服务器桃色直播 北京健康在线网络技术 软件开发 产学研合作协议 电信的服务器名称是什么 无锡编程软件开发中心
0