www.teandq.com
晓安科普

历史天气查询(历史天气查询2345)不要告诉别人

2023-08-10Aix XinLe

背景最近在计划明年从北京rebase到深圳去,所以最近在看深圳的各个方面。去年在深圳呆过一段时间,印象最深的是,深圳总是突然就下雨,还下好大的雨

历史天气查询(历史天气查询2345)不要告诉别人

 

背景最近在计划明年从北京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)

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186

探索探索科学杂志社(探索科学杂志社怎么查)新鲜出炉

2023-08-18Aix XinLe137

探索科学杂志社(探索科学杂志社怎么查)新鲜出炉世界在变化,但总有人被钉在原地。…

探索天梯排行榜(台式处理器天梯排行榜)速看

2023-08-18Aix XinLe81

天梯排行榜(台式处理器天梯排行榜)速看对于小白来是说,对CPU型号认知,一般都只看CPU是i3、i5还是i7的,其实这是选购CPU的最大误区之一,目前还有很多小伙伴没有搞懂。…

趣闻快来看酷音乐亚洲盛典(酷音乐亚洲盛典薛之谦)

2023-08-18Aix XinLe157

快来看酷音乐亚洲盛典(酷音乐亚洲盛典薛之谦)有一次在四川开演唱会,因为交通不便,比较远,他自己包车送粉丝回家。同年,薛之谦受邀作为流行音乐的代表,和其他艺术家一起前往俄罗斯,参加由中华人民…

科普女排联赛总决赛时间表(2023世界女排联赛总决赛时间表)速看

2023-08-18Aix XinLe50

女排联赛总决赛时间表(2023世界女排联赛总决赛时间表)速看2023年世界女排联赛总决赛将于北京时间13日凌晨在美国拉开战幕,波兰、美国、土耳其、巴西、意大利、日本、德国八支球队将在首轮比赛中捉对厮杀争夺…

知识知识产权评估报告(知识产权评估报告中联)不看后悔

2023-08-18Aix XinLe130

知识产权评估报告(知识产权评估报告中联)不看后悔开辟海外市场,发力科技创新。中联重科股份有限公司在经济放缓、行业陷入低谷的情境下,多措并举,全力抗压…