power BI 天气数据爬取
简介
本篇案例主要介绍如何通过power BI 构建爬虫抓取历史天气数据
数据爬取
如何从power bi 获取网页的数据
首先,打开需要爬起天气数据的网站,点击历史天气,之后可以看到全国各个省份和城市的列表
http://www.tianqihoubao.com/
全国省份和城市列表
大家可以根据自己想要爬取的城市来自由选择
选择好城市之后,会列出该城市从2011年1月一直到目前的所有的天气数据,选择想要查看的年月分的连接,下面以郑州2019年1月为例
打开之后如下,显示这个月每一天的具体日期,天气状况,气温,风力风向
如果是只想爬取这一页的数据,打开 power bi ,在获取数据里面选择 其他 – web
然后把连接地址粘贴上去点击确定
之后power bi 会自动分析网页,提取出数据信息
选择左边的表直接加载数据就ok了
这样抓取一页的数据太简单了。
下面咱们要做的是如何才能批量抓取数据
分析URL
通过点击不同城市和日期的连接,分析URL的变化规律
# 郑州
http://www.tianqihoubao.com/lishi/zhengzhou/month/201803.html
http://www.tianqihoubao.com/lishi/zhengzhou/month/201901.html
http://www.tianqihoubao.com/lishi/zhengzhou/month/201904.html
# 鹤岗
http://www.tianqihoubao.com/lishi/hegang/month/201101.html
http://www.tianqihoubao.com/lishi/hegang/month/201108.html
可以发现有变化的地方只有城市名称和日期,
http://www.tianqihoubao.com/lishi/[城市名称]/month/[日期].html
那么我们就只需要设置【城市名称】和【日期】两个变量。就可以构建不同的城市和日期的天气页面的URL地址,有了URL地址就可以批量抓取多个城市,多个年份月份的天气数据了
构建爬虫
我门可以直接在power bi 中构建城市日期的列表,这样的话当需要更新数据的时候只需要在power bi 内部修改数据并刷新就可以得到最新的数据了
创建城市列表
打开power bi,选择【输入数据】,输入想要爬取的城市名称和所对应的拼音,
点击右上的 + 号,为添加新的一列
点击左下的 + 号,为添加新的行
列名可以双击来更改
下面蓝线标注的地方为表名
数据都设置好后,点击【编辑】,进行下一步日期的输入
创建日期列
日期列的创建可以通过 M 函数 #date 来创建
创建一个起始日期和一个结束日期,然后对这两个日期进行运算,得出起始日期和结束日期中间的所有的日期
先创建一个起始日期,在【添加列】选项下,点击【自定义列】,输入列名和日期公式,点击确定,如下:
然后创建一个结束日期,在【添加列】选项下,点击【自定义列】,输入列名和日期公式,点击确定
添加完成后的结果如下:有四列数据 城市名称 城市拼音 起始日期 结束日期
因为URL中用到的是年份和月份
下面添加所需要的年份和月份的列
首先,计算出起始日期到结束日期每一天的日期
点击【添加自定义列】输入如下公式
添加完之后展开此列,选择【扩展到新行】
展开之后如下,并不是显示的日期的形式,需要把这一列的类型改为日期
在【每日日期】上面点击–右键–选择【更改类型】-- 选择【日期】,转换之后如下:都已经转换为日期形式了
因为URL里面所用的是年和月的数据,还需要进一步对日期数据进行处理
我们可以使用 Date.ToText 来对日期进行转换,
添加一个新的自定义列,公式如下:
转换之后如下,此时就是我们需要的年月的格式了
下面我们再通过【每日日期】列 来提取出【年】和【月】的数据,方便后面做筛选的时候用。
提取出年的列,选中【每日日期】列,点击上方选项菜单的日期选项,选中【年】–在选中【年】点击
提取出月的列,选中 【日期】选中,选中【月】–在选中【月】点击
完成之后如下显示:
下一步删除用不到的数据【起始日期】,【结束日期】,【每日日期】
删除完之后选中所有的列,在列标签上点击右键,选择【删除重复项】。去重,之后所需要的数据基本就准备完成了
所需要的数据基本就准备完成了
构建动态URL地址来获取数据
选择添加新的【自定义列】,输入公式如下。
在输入的时候要注意【城市拼音】和【URL日期】的格式需要设置为“文本”,
而且数据中不要有空格等符号,要不然会获取不到数据
注意
再获取数据是出现隐私级别警告时,设置如下
输入完成后,点击确定,然后需要等一段时间获取数据,(数据量越大等待时间越长)
加载完成后新的列为一个table数据,下一步,我们需要展开数据
点击右边上的展开按钮,选择 Caption 和 Data两个选项 点击确定
展开后的数据如下:拆开了两列,后面data列还是一个表 需要继续拆分
先取消勾选 Document选项
然后,点击展开按钮,选择Column1,2,3,4点击确定,展开数据
展开后再 Column1列里面取消勾选 日期
最后后我门就能看到爬取到的天气信息,如下
power BI 天气数据爬取相关推荐
- Scrapy全国历史天气数据爬取
Scrapy全国历史天气数据爬取 历史天气网站http://www.tianqihoubao.com/lishi/ 1.解析网页 我们要爬取每个城市,近10年的历史天气数据,我们需要进到每个城市历史数 ...
- Python爬虫 —— 以北京天气数据爬取为例
本文以北京天气为例讲解数据爬取的整个流程,不涉及网络爬虫的原理,直接讲爬取代码怎么写! 1.首先找到你要爬取的网站url:'http://www.tianqihoubao.com/lishi/beij ...
- R语言某一年各省各月份天气数据爬取
因为项目需要,在此,本人用R语言对某一年各省的省会各月份天气数据进行爬取.想爬取其他城市的数据也是大同小异. 本次爬取的天气数据包括"日期","天气状况",&q ...
- python实现天气数据爬取实现数据可视化和天气查询gui界面设计
在学校大一实训中,我的实训项目就是使用python爬取天气数据并且实现gui图形界面的设计. 实训结束了,希望自己的代码可以帮助大家的学习.(代码是大一时候写的,比较青涩,大家多包涵) 第一个部分是g ...
- 全国历史天气查询/历史天气预报查询——全国各月份数据爬取
全国历史天气查询/历史天气预报查询--全国各月份数据爬取 效果 图1 目标爬取数据 图2 最终实验效果 实验效果:最终可将官网已有的数据进行爬取整理,共363个城市,从2011年1月--至今 数据已上 ...
- python爬取历史天气_Python 爬取历史天气数据
Python 爬取历史天气数据 作者:梅昊铭 1. 导读 之前Mo给大家分享过杭州历年天气情况的数据集,相信有不少小伙伴好奇这些数据是怎么获取.今天Mo就来教大家如何使用Python来进行历史天气数据 ...
- [Python]网站数据爬取任务
Python爬虫作业:网站数据爬取任务 从以下网址(包括但不限于下列网络或应用)中爬取数据,以核实的形式存储数据,并进行分析(不一定是计算机角度的分析,可写分析报告),或制作词云图. 一.文本数据 酷 ...
- 基于python的数据爬取与分析_基于Python的网站数据爬取与分析的技术实现策略
欧阳元东 摘要:Python为网页数据爬取和数据分析提供了很多工具包.基于Python的BeautifulSoup可以快速高效地爬取网站数据,Pandas工具能方便灵活地清洗分析数据,调用Python ...
- Excel 数据爬取
b站视频来源 数据获取 Excel 数据爬取高级功能 实操过程 第一步.获取浏览器标识(UserAgent) 谷歌为例: 右键--检查--Network--重新加载网页--点击下面第一个网页信息--h ...
最新文章
- AI 真的会带来大规模失业吗?
- 神经植入物是如何工作的?
- mysql 剔除字段空格
- 从C#2.0的角度看.NET 2.0类型系统
- 构造类斐波那契数列矩阵
- ssh 免密_Linux下配置SSH免密通信 “sshkeygen”的基本用法
- java ssh cpu_初学Java ssh之Spring 第四篇
- 这些年无处安放的博客
- 精简版_翻译软件,基于百度翻译api
- r720换固态硬盘后如何重装系统_联想R720重装Winddows10无法识别固态硬盘咋办
- EMQ荣获工信部第五届“绽放杯”5G 应用 征集大赛智慧金融专题一等奖
- Python实现三维数据(x, y, z)的索引——即通过(x, y)的值索引z的值
- Nginx的超时keeplive_timeout配置详解
- java自动识别图片验证码插件_JMeter开发插件——图片验证码识别
- 再学一遍android:fitsSystemWindows属性
- 混合计算题300道_混合这道美丽人生鸡尾酒配方
- C++:上机练习(C++实现)
- 如何通俗易懂地理解平面电磁波的极化?—— 看这篇文章就足够了!(多图配合,生动形象)
- APP全流程框架总结
- 腾讯微信公开课分享的所有精华都在这里了(PPT都截了啊!)
热门文章
- MySQL 的悲观锁和乐观锁如何使用?
- [shiro] - 加入rememberMe功能
- 极光大数据告诉你,程序员们都在愁些啥?
- 二维码生成及识别接口
- Ubuntu 出现结构需要清理 (structure needs cleaning)
- 仿斯坦福四足机器人的运动学逆解
- opencv自动拍照程序
- 百望云服务器显示二个,百望云-文档中心
- VOC/YOLO/COCO数据集格式转换及LabelImg/Labelme/精灵标注助手Colabeler标注工具介绍
- PS教程新手入门(二)--保存清晰透明的.Png格式图片的方法和技巧教程