炎热的夏季,想找个地方去避暑。

查来查去也就那几个比较热门的地方,不仅消费高,人还多。找个凉快的区域游玩是不是很舒服?何不自己做一个热力图查看查看情况。

说做咱就做,大致思路是这样的:

  1. 爬取大陆各城市当天温度

  2. 绘制热力图

  3. 完美

OK,信息来源就定为中国天气网(http://www.weather.com.cn/),用简单的方法爬取下来就行了。

老方法,先导入包,requests 和 BeautifulSoup 包就不细说了,还没有掌握的小伙伴快到我们之前的教程中学习呦~

import requestsfrom bs4 import BeautifulSoup

网站一共有八个板块,包括了中国各个区域,这里我们只爬取中国大陆天气情况,爬取前七个板块就行了,他们的URL都一一对应分别如下:

url = ['http://www.weather.com.cn/textFC/hb.shtml','http://www.weather.com.cn/textFC/db.shtml','http://www.weather.com.cn/textFC/hd.shtml','http://www.weather.com.cn/textFC/hz.shtml','http://www.weather.com.cn/textFC/hn.shtml','http://www.weather.com.cn/textFC/xb.shtml','http://www.weather.com.cn/textFC/xn.shtml',]

页面如下,内容都在表格里:

上爬虫,把城市名字放在列表city_list里,城市对应的温度放在字典city_temp中:

city_list = []

city_temp = {}

遍历每个URL逐一爬取,对各语句的解释在注释中:

for u for t 

接下来我们需要获取每个城市的经纬度,这里我们使用百度地图

api(http://api.map.baidu.com/geocoder/v2/):header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36'}payload = {'output':'json','ak':‘你的ak码’}

其中可以在(http://lbsyun.baidu.com/apiconsole/key)网页中获取百度地图的ak码

接下来对每个城市获取其经纬度,并保存到dic字典中。现在我们只是大致弄一个热力图,没有过于严谨和精细,所以没有地址信息的城市就先不考虑:

dic = {}for i in city_list: payload['address'] = itry: content = requests.get(url,params=payload,headers=header).json() dic[i]=content['result']['location']print("正在获取{}的地址!".format(i)) except:print("没有此地址:{}!".format(i))time.sleep(0.5)print("所有地址均已获取完毕!!!")

获取完后的情况如下:

我们现在先把经度、维度和温度放在三个列表里便于组合:

lat = []lng = []temp_list= []for key, value in dic.items():lat.append(value['lat']) lng.append(value['lng'])temp_list.append(city_temp[key])

组合成[lat,lng,temp_list]形式,准备绘制热力图:

data1 = []for i in range(len(lat)):data1.append([lat[i],lng[i],temp_list[i]])

导入绘制热力图需要用到的包:

from folium.plugins import HeatMapimport folium

这里简单介绍一下folium包与其中的HeatMap。folium是js上著名的地理信息可视化库leaflet.js为Python提供的接口,通过它,我们可以通过在Python端编写代码操纵数据,来调用leaflet的相关功能,基于内建的osm或自行获取的osm资源和地图原件进行地理信息内容的可视化,以及制作优美的可交互地图。

其语法格式类似ggplot2,是通过不断添加图层元素来定义一个Map对象,最后以几种方式将Map对象展现出来。而在Map对象的生成形式上,可以在定义所有的图层内容之后,将其保存为html文件在浏览器中独立显示,也可以基于jupyter notebook在一个ipynb文件内部嵌入对应的交互地图,本文即采用后者对应的方法(介绍来源于网络)。HeatMap就是专门绘制热力图的函数,需要输入经纬度和相应的数值就可以画出热力图了。

建立一个地图,location为中心点的坐标,zoom_start表示初始地图的缩放尺寸。

map_osm = folium.Map(location=[35,110],zoom_start=5)

将之前处理好的数值添加到之前新建的地图中。

HeatMap(data1).add_to(map_osm)

将画出来的地图以html格式保存到本地

map_osm.save("C:/Users/1/Desktop/去哪儿避暑.html")

点开即可看到内容,如下图:

图片可以放大缩小,看得更清楚:

从中我们大致发现,我正处的长江流域附近是一条“热带”,要避暑得往南或者北走一点,走太远了也会炎热。(此图不包括我国港澳台地区数据)

通过这个热力图,最后思来想去,还是想去我国这个地方避暑:

放大看看这个地方是哪里:

炎炎夏日,需要旅游避暑的小伙伴赶快get起来!要记得多多关注我们哦,我们正撸起袖子努力推出更多有趣又实用文章给你们

文字来源|程威

图片|程威

编辑|宋欣蕊

审核|叶紫薇

欢迎投稿至:Datahelpclub@126.com

欢迎大家转发,但大家记得标明原创出处哟~如果喜欢记得点【在看】呀~,扫描关注我们的公众号↓

js遍历list数据显示到h5页面_大数据应用 | 带你找个地方去避暑相关推荐

  1. url采集工具_大数据关键技术浅谈之大数据采集

    在前几篇文章中,企通查为大家介绍了大数据处理的基本流程.从大数据的一系列处理过程中(抽取.集成.分析.解释),我们可以发现这一整套流程中涵盖了数据存储.处理.应用等多方面的技术. 大数据价值的完美体现 ...

  2. 数据的四大特征_大数据

    数据的四大特征_大数据 我们总是在谈数据分析,数据分析什么的,那我们现在先不谈数据分析,我们先来谈谈数据分析的基础--数据.那么到底什么是数据,数据有什么特征呢?这个问题虽基础却重要. 这里我们所说的 ...

  3. 大数据分析师高级证书_数据分析师资格证书好考吗_大数据分析师认证

    数据分析师资格证书好考吗_大数据分析师认证 为了适应大数据时代的要求,数据分析这一工作需要更加正规化.专业化以及职业化,因此,数据分析师应运而生,成了较多人争相报考的科目.那么 一方面,据小编了解,数 ...

  4. 大数据介绍项目流程_大数据介绍

    大数据介绍项目流程 About Big Data 关于大数据 什么是大数据?(What is Big Data?) In modern world, there are many big proble ...

  5. 大数据可视化陈为智慧树_智慧树知到_大数据可视化_答案章节单元测试答案

    智慧树知到_大数据可视化_答案章节单元测试答案 更多相关问题 (1)33+(-23)2-48-12×6:(2)当a=2时,计算21-a-a1+a的值. 计算(1-11-a)(1a2-1)的结果正确的是 ...

  6. 大数据可视化陈为智慧树_知到智慧树_大数据可视化_大学课后答案

    知到智慧树_大数据可视化_大学课后答案 更多相关问题 用下列方法不能将NaCl和Na2CO3两种溶液区分开的是()A.向两种溶液中分别滴加醋酸B.向两种溶液中分别滴加稀硫 为了除去KCl中少量的MgS ...

  7. 小程序接入h5页面_原生小程序接入H5页面,请求后台接口,获取数据

    项目开发中赶上三端接入h5的需求,因此本身动手作h5页面,可是在作的过程当中也赶上了许多的问题javascript 小程序端不支持在本地引入,因此须要将h5发布服务器,以请求接口的形式进行访问html ...

  8. 小程序接入h5页面_微信小程序跳转外部链接(h5页面)以及数据交互

    最近项目有个需求,在微信小程序中跳转外部链接完成相关的操作,操作完成后返回微信小程序的相关页面. 1.跳转外部链接(官方文档) 1)入口 //跳转到入口 wx.navigateTo({url: '.. ...

  9. 小程序嵌套h5页面_微信小程序内嵌h5页面

    概况 使用 标签能在小程序中打开外部网页,但是要打开的网页的域名必须跟小程序的业务域名(业务域名可以在小程序的后台管理界面添加)一致,否则在真机上是打不开的.如果开发工具上勾选了'不校验域名',在开发 ...

最新文章

  1. 聊聊spring cloud gateway的PreserveHostHeaderGatewayFilter
  2. PowerDesigner教程系列(三)概念数据模型
  3. [react] 为何说虚拟DOM会提高性能?
  4. VOIP,PSTN,ISDN
  5. java猜数游戏有次数限制_幼小衔接可以用的超有趣的数学小游戏
  6. Solr基础教程之solrconfig.xml(三)
  7. 阿里规定代码中禁用这个,为何?
  8. 最新超详细VMware虚拟机下载与安装
  9. jQuery + JavaScript 实现的动态添加文本框功能 和 动态删除文本框功能(二)
  10. 【刷题】LOJ 6008 「网络流 24 题」餐巾计划
  11. ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed问题解决
  12. Ubuntu-Unattended upgrade in progress during shutdown
  13. 宽带运营商服务器未响应是什么意思,宽带拨号服务器无响应
  14. window7取消文件默认打开方式的方法
  15. Qt飞机大战小游戏(c++从零开始实现)
  16. bzoj3631[JLOI2014]松鼠的新家
  17. 【Java】获取当前时间(毫秒级)
  18. 基于MATLAB的图像去遮挡修复数字图像处理系统
  19. (转自微博) 分布式缓存架构基础
  20. 使用c++实现带分数的运算

热门文章

  1. 300 秒搞定第一超算 1 万年的计算量,量子霸权时代已来? | CSDN 博文精选
  2. 华为方舟编译器开源!前华为人重磅解读!
  3. 百度邀您来听一场云存储的大戏!
  4. 苹果:失了 5G 会何妨?
  5. 无代码编程时代下,程序员要失业了?
  6. 折叠屏究竟是不是智能手机的未来?| 畅言
  7. 董明珠给格力员工加薪 10 亿;张小龙回应微信 7.0 界面变丑;库克怒怼高通 | 极客头条...
  8. 李彦宏:AI 企业要保护隐私;罗永浩回应酷派“欠钱不还”;ofo 郑州公司人去楼空 | 极客头条...
  9. 罗永浩语出惊人怼iPhone;人机大战柯洁再败;三星深圳工厂整体裁撤| CSDN极客头条...
  10. iOS 系统爆 Bug!