不看后悔历史天气查询一个月(2345历史天气查询记录)
背景最近在计划明年从北京rebase到深圳去,所以最近在看深圳的各个方面。去年在深圳呆过一段时间,印象最深的是,深圳总是突然就下雨,还下好大的雨
背景最近在计划明年从北京rebase到深圳去,所以最近在看深圳的各个方面去年在深圳呆过一段时间,印象最深的是,深圳总是突然就下雨,还下好大的雨对于我这种从小在南方长大但是后面又在北京呆了2年多的人来说,熟悉而又无奈。
今天早上本来想随便浏览浏览一个天气网站,看看深圳的历史天气如何的,但是,一不小心发现,这家网站竟然直接能用API来抓数据,这~~~还不抓一波,省的自己一个月一个月地看。先上最后的效果图:
所有的code都在我的GitHub上:boydfd下面从几个方面讲一讲我是怎么做的:1、爬取数据2、用pandas显示数据3、功能扩展4、遇到的坑爬取数据先是在http://tianqi.2345.com上面浏览了一下深圳的6月份天气。
然后发现点切换月份的时候,网址没有变,那应该有请求API吧,看看这个API长啥样吧
发现返回值就是纯JS代码,那就解析一下吧:1、去掉var =和最后的;2、用到demjson解析成Python的List[Dict]对象3、转成pandas的DataFrame4、加上我们的date字段。
结果是这样的:
用Pandas显示数据太多雨天我们可以看到,有各种雷阵雨啊,阴转雨啊,雨转阴之类的,这样看到的天气太杂了,所以我就统一了一下,按照雨、多云、阴、晴的顺序来排序,先出出现的关键词优先级更高写一个函数来处理之:。
多个月的数据一个月的数据不够啊,我们想要很多个月的数据,那就写得函数来生成月份吧。
画图分好类,爬了多个月份的数据,就剩最终的画图部分了。使用Pandas提供给我们的函数,可以很容易就画出图来。
功能扩展现在只能收集到一个月的数据,想收集多个月的数据,还都自己去页面上找城市代表的code是啥,太低效了这个网站这么容易爬,那就再试试能不能找到调用code的API啊哦,一不小心找到了所有的code,哈哈哈。
那就在JS里面提取一下。先把所有的JS代码都复制到浏览器的console里, 结果长这样:
将其转换成字符串。provqx.flatMap(a=> a).join(|)在Python里处理它。
这样我们就拿到所有的code了,只需要输入城市,开始时间,结束时间,一张漂亮的图就出来了,我还写了个类稍微封装了一下,只需要这样就能使用了:Weather(深圳).plot_weather(201701,201906)
- 标签:
- 编辑:
- 相关文章
-
越早知道越好中国历史网官网(中国历史第一档案馆官网)
记者从国家档案局了解到,中国第一历史档案馆新馆4日起面向个人开放预约,社会观众可通过中国第一历史档案馆网站、“皇史宬”微信公…
-
原创中国历史网官网(中国历史照片官网)
开展文物调查,全面掌握文物的基本情况及存在现状,是文物保护、管理、研究及利用的必要前提和基础,也是十分重要的工作手段。…
- 新鲜出炉中国历史网官网(中国历史档案馆官网)
- 满满干货中国历史网官网(中国历史知识竞赛官网)
- 学会了吗中国历史网官网(中国历史研究院官网)
- 快来看中国历史网官网(中国历史地图网官网)
- 手机经典台词(手机电视剧经典台词)快来看