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

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

获取数据

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

http://www.weather.com.cn/weather15d/10124020102A.shtml

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

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

  • 省会城市列表,provincial_capital

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

  • 著名景点名称列表,attractions

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

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

import requests
from bs4 import BeautifulSoup
import time
import os
'''
遇到不懂的问题?Python学习交流群:821460695满足你的需求,资料都已经上传群文件,可以自行下载!
'''def 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'}).textwea = item.find('span', attrs={'class': 'wea'}).texttem = item.find('span', attrs={'class': 'tem'}).textwind = item.find('span', attrs={'class': 'wind'}).textwind_level = item.find('span', attrs={'class': 'wind1'}).textresult = {"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:continueelse: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 pdprovincial = 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 告诉你中秋应该去哪里相关推荐

  1. Python 分析天气,告诉你中秋应该去哪里

    本文投稿自:萝卜大杂烩 中秋佳节将近,不知道各位小伙伴儿有没有想好去哪里玩呢.不过说实在的,每到节假日,到处都是人山人海,那句"我动也不能动",还不时的出现在我的耳畔呢. 但是又说 ...

  2. 用Python告诉你广州房租现状

    ♚ 作者:zone7,一只爱折腾的后端攻城狮,喜欢写文分享. 概述 前言 统计结果 爬虫代码实现 爬虫分析实现 后记 前言 由于我本身的朋友圈大多都在广州.深圳,因此,早就有挺多小伙伴叫我分析一下广州 ...

  3. python最难的地方_全国 41611 个景点,程序员用 Python 告诉你哪些地方最值得一游!...

    原标题:全国 41611 个景点,程序员用 Python 告诉你哪些地方最值得一游! 经常听到别人说"世界那么大,我想去看看".在有机会走出国门之前,还是先把祖国走一圈吧.都知道中 ...

  4. 10分钟用Python告诉你两个机器人聊天能聊出什么火花

    10分钟用Python告诉你两个机器人聊天能聊出什么火花 欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 现在不是讲各种各样的人工智能嘛,AI下棋,AI客服,AI玩家--其实我一直很好奇, ...

  5. 情人节送什么?Python告诉你

    作者 | 丁彦军 来源 | 恋习Python(ID:sldata2017) 掐指一算 今天就是情人节了! 还没来得及准备的人 要么被打断腿,要么注孤生 不过目测已经有一大批直男 已经为送什么礼物发愁了 ...

  6. Python告诉你:为何年终奖多发一元,到手却少两千多?

    作者 | shenzhongqiang 来源 | Python数据与分析(ID:ML_Python) 年终奖多发一元,到手却要少两千多,甚至更多.听到这个消息的时候,大家是不是觉得有点意外,意外之余还 ...

  7. 啥是佩奇?Python告诉你

    作者 | 丁彦君 来源 | 恋习Python 昨天, 被<啥是佩奇>这支广告片刷屏了. 佩奇明明是个喜剧角色, 却看哭了所有人. ▼ <啥是佩奇>??? 快过年了 在农村爷爷给 ...

  8. 11月30日云栖精选夜读 | 用Python告诉你,现在的房租有多高?

    杭州房租:钱塘两岸最高,奥体单间达4830元/月.不少人感叹:躲过了高房价,躲不过高房租,面对房租上涨,感觉身体被掏空.2018年的这个夏天,房租正在成为摧垮年轻人的"第一根稻草" ...

  9. python哪本好-在众多小说中,Python告诉你哪本小说好看

    Python Python开发 Python语言 在众多小说中,Python告诉你哪本小说好看 前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及 ...

  10. python125免费教程,125 个视频成就千万级网红,Python 告诉你李子柒都在拍些什么?...

    原标题:125 个视频成就千万级网红,Python 告诉你李子柒都在拍些什么? 作者 |Mika,数据 |真达 后期 |Mika.泽龙 责编 | 郭芮 来源 | CDA数据分析师 今天我们来聊聊把生活 ...

最新文章

  1. matlab利用数据求公式,matlab新手,求帮助!主要是如何将数据和公式导入
  2. 帝豪gl车机系统降级_从拥有帝豪GL开始,出行的好伴侣,说说感受
  3. 如何理解pytorch 卷积里group 这个参数
  4. 重写、重载方法的调用
  5. insert mysql后加where,如何在MySQL Insert語句中添加where子句?
  6. 【python教程入门学习】迭代器、生成器和可迭代对象
  7. c语言文件操作函数(未完待续)
  8. Tokenisation word segmentation sentence segmentation
  9. 11月国内网站流量统计:百度夺冠 360安全中心居亚
  10. TreeMap内部实现简介
  11. C# 类(11) 密封类.
  12. Lovgate病毒移除经验
  13. 【笔记】西门子1200PLC和V90伺服电机连接
  14. 基于51单片机的电容电感电阻RLC测量仪protues仿真
  15. Agilent/安捷伦N6705B直流电源分析仪
  16. 人工智能技术及其应用初探
  17. fetch.php是什么意思,fetch什么意思
  18. 显卡天梯图2020年10月完整版
  19. Zabbix5.0监控CenterOS(RPM版)
  20. php zen kaku代表什么,Convert kana one from another (zen-kaku, han-kaku and more) - PHP 7 中文文档...

热门文章

  1. [报错]CXF动态客户端报错:No operation was found with the name
  2. 【BZOJ1061】【NOI2008】志愿者招募 费用流神题、单纯形裸题(代码费用流)
  3. CMWAP和CMNET 的主要区别与适用范围
  4. OpenMP 参考(指令详解)
  5. 如何免费把自己写的网页上传到网上?(腾讯云篇)
  6. 华为超级技术大牛的十年经验总结
  7. 国内智能手机市场寒风凛冽,华米OV谁更受伤?
  8. c++ json::value
  9. paddle——站在巨人肩膀上及背刺二三事
  10. java deprecated 注释_Java注释中的@deprecated与源代码中的@Deprecated