十一小长假将近,不知道各位小伙伴儿有没有想好去哪里玩呢。
虽然说每逢假期,国内的各大旅游景点都是人满为患,但是出去放放风还是有必要的,保不齐就能偶遇小小哥哥小姐姐呢!
既然是出去散心,那么天气状况就尤为重要了,下雨阴天,寒风凛冽的,可能不太好偶遇哦。下面就带着到家一起,看看十一期间,哪些地方的天气适合出(偶)游(遇)呢。
获取数据
数据的获取,就从中国天气网站上直接抓取,网络上的一些 API,有的信息不是很全,只能获取最近3天的数据,有的又需要付费,还不如自己抓来的痛快。
网站也没有做什么限制,简单的扒扒网页代码就行了,不难。
同时我这里还用到了提取准备的四个文件
- 省会城市列表,provincial_capital
- 全国城市 id 信息表,china-city-list.csv
- 著名景点名称列表,attractions
- 全国景点 id 信息表,china-scenic-list.txt
为了阅读方便,这里只给出了核心的抓取部分,其他的保存数据部分可以查看源码
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'}).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 result
最后我就得到了两个包含天气信息的文件,shiyiweatherdata.csv 和 shiyiattractiondata.csv,下面就根据这两个文件,来规划下十一的行程。
省会城市分析
出游旅行,省会城市肯定是个重点,毕竟大城市,你懂的。
温度和降水
对于降水的概率,我采取的是如果预报是有雨,则设置降水概率为80,如果是预报是晴,则降水概率为20。
weather_dict = { "snow": 100, "rain": 80, "cloud": 50, "overcast": 60, "sun": 20 }
在十一这一天,各省会城市的降水和温度情况
可以看到,大部分的城市都有降水的概率,但是都不是很高,保守估计,会是个晴天。而温度的话,基本都在25-28°之间,真实天凉好个秋啊!
而乌鲁木齐,拉萨,西宁的温度就不是很美好了,基本已经到了10°一下了,小棉袄是不是要走起了。
为了更直观,我们再通过一个双轴图来查看下降水和温度的情况
这张图更加明显,南宁,福州,郑州和长沙是天气最好的城市,秋高气爽。那么问题来了,你会在这几个城市中选择一个嘛?
而乌鲁木齐太出乎意料了,成功成为全国省会中温度最低的城市,连哈尔滨都比不了。
下面再挑选几大旅游城市,看看在十一期间的天气情况
北京
北京由于纬度比较高,所以在十一期间温度也比较低了,而降水的概率也挺大的,看来一场秋雨一场寒啊,大帝都要进入万物萧条的时节了。
上海
上海的平均温度还是很不错的,感觉在十一的前两天去,只要能 hold 住人群的冲击,去上海会是个不错的选择。
杭州
杭州的温度在十一期间是一路走低,照这个架势,看断桥残雪的日子应该不远了。而且十一期间大概率是阴天吧,在阴蒙蒙的西湖边散步,有没有感觉?
成都
成都还是一如既往的稳定,下雨不停歇。不过这也不影响我们去看大熊猫吧,反正我不管,我要去成都!
著名景区天气
不同的人,对于著名景区的定义肯定不一样了,我这里也只是选取了网上呼声最高的一些景点做分析,不能完全覆盖了。毕竟伟大的祖国幅员辽阔,好玩的地方太多了!
降水情况
感觉漓江和黄山可以去呀,大好的晴天。
温度和降水
再来结合温度看一下,感觉还是黄山和漓江最适合去,武陵源风景区也是个不错的选择哦。
而我选取的景区中,温度最低的要数长白山了,毕竟在东北,毕竟海拔高。不过去自然保护区看看最纯粹的大自然,应该也会有不一样的感受吧。
温度与降水地理分布
降水
能够清楚的看出,京津地区降水的可能性是最大的,如果这个时候走在北京的大街上,不知道冷冷的冰雨打在脸上会是什么感觉呢?
东南沿海的降水也不会少,那么选择西湖漫步应该就是最好的选择了。
温度
整体来说,还是纬度低的地方温度要高些,珠三角地区应该还是春暖花开呢,而东北和新疆,可能已经不得不准备抗寒了。
好了,今天的分析就到这里了,那么,十一长假你最终的选择是哪里呢?
最后献上完整代码
https://github.com/zhouwei713/data_analysis/tree/master/weather
本文作者:周萝卜,Python 爱好者,个人公众号:萝卜大杂烩
声明:本文为 脚本之家专栏作者 投稿,未经允许请勿转载。