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列里面取消勾选 日期

最后后我门就能看到爬取到的天气信息,如下

(0)

相关推荐

  • 【IDIC】交互式数据可视化处理工具Microsoft Power BI简介

    [IDIC]原创文章 第2篇 01 前言 相信大家在工作或学习中,会接触很多的数据处理工作,2015-2016年微软发布了Power BI一系列产品,包括PowerBI desktop.PowerBI ...

  • PQ实战 | 使用Excel收集全国天气历史数据

    搞数据分析的经常要数据的获取头疼,尤其是我们Excel用户,不过现在使用PQ来处理是非常简单的,今天我们就通过收集全国历史天气数据来讲解一下! (案例文件下载:见文末) 我们要获取数据的网址:http ...

  • PBI-基础入门:Power BI是什么?

    按照微软的艰涩定义(不喜欢看的可直接略过本段):Power BI 是软件服务.应用和连接器的集合,它们协同工作以将相关数据来源转换为连贯的视觉逼真的交互式见解.无论你的数据是简单的 Excel 电子表 ...

  • Power BI轻松制作动态着色地图

    上一篇文章使用PowerBI地图模拟疫情地图以后,有小伙伴后台问,能否利用着色地图,按时间动态展示变化情况呢? 当然是可以的,并且非常简单,下面介绍一下思路. 首先找到每日的地区数据(本文示例为1.2 ...

  • Power BI如何计算任意所选期间的环比?

    文/陆文捷 物流供应链优化分析师,Power BI爱好者,知乎:Beethovenist Power BI内置了一系列日期智能函数,覆盖了计算同环比,上年同期,本期至今,期初期末,当期全局数据等高频需 ...

  • 干货 | Power BI 报表服务器极简安装指南

    本文是PowerBI星球嘉宾天行老师的力作,详细介绍了报表服务器的用处以及安装步骤,看完本文,你也可以轻松用上报表服务器,更方便的分享你的PowerBI报告. Power BI 报表服务器极简安装指南 ...

  • 2月29日就到要了,Power BI时间智能函数是如何处理闰年的?

    今年是闰年,马上就到2月29日了,有星友问我,在Power BI中,2月29日的上年同期是怎么计算的? 这是个好问题,正好梳理一下,PowerBI时间智能函数是如何处理不规则日期的对比数据的. 以一个 ...

  • Power BI实用技巧:利用DAX隐藏未来日期的计算

    文/陆文捷 物流供应链优化分析师,Power BI爱好者,知乎:Beethovenist Power BI中日期智能函数进行同环比和累加等计算时,如果事实表数据是随时间动态更新,同时数据模型中的日期表 ...

  • Power BI数据分析:如何快速找出连续下降的数据?

    源于知识星球中遇到的一个问题,星友想通过PowerBI,找出最近3个月销量持续下滑的产品都有哪些?这个问题比较典型,也很实用,所以这里写篇文章介绍一种思路,希望对你有所帮助. 最近3个月数据持续下滑, ...

  • 如何使用Power BI进行回流客户分析?

    如何使用Power BI计算新客户数量? 如何使用Power BI进行流失客户分析? 还有一种情形是,客户超过一定的时间没有购买行为,已定义为流失客户或者睡眠客户,但最近又发生业务的的,也称为回流客户 ...

  • Power BI动态查询数据库,以及需要注意的问题

    小勤:现在公司数据库里的数据量很大,怎么才能按需要仅接入自己需要的数据?比如说,按需要输入起始日期,然后仅从数据库里接入该起始日期至今的数据. 大海:你可以设置起始日期为参数,然后在接入数据库时使用的 ...

  • 高效使用Power BI的15条建议

    PowerBI是一个强大的工具,它的大数据处理能力.丰富的可视化对象.便捷的交互体验正在改变越来越多的人查看数据的方式. 但同时也有很多人抱怨PowerBI运行速度太慢:打开慢.刷新慢.响应慢,你在使 ...

  • PowerBI 2021年8月更新,你应该知道的几个变化

    PowerBI 2021年8月的更新来了,关于更新的完整内容官方博客的介绍非常详尽,你可以在博客中浏览(使用Chrome浏览器可自动翻译): https://powerbi.microsoft.com ...

  • Power BI如何计算任意期间的上一期?

    上上周的文章介绍了非标准日历的计算(Power BI非标准日历的计算思路),虽然是非标准日历,但还是有规律的,每个周期是固定的,可以在日期表中提前做好标记. 实际分析中还有一种情况,任意选定一个时间范 ...

  • DAX是什么? | PowerBI星球

    DAX是英文Data Analysis Expression的缩写,意思是数据分析表达式,从名称上就可以看出,DAX公式是用作数据分析的,事实上也确实如此,从数据分析层面认识DAX会更有助于我们理解它 ...

  • PowerBI数据建模,为什么不建议你使用双向关系?

    文/陆文捷 物流供应链优化分析师,Power BI爱好者,知乎:Beethovenist 经常有伙伴会在星球中询问在数据模型中,如何通过事实表对维度表筛选计算的问题,此类需求在PowerBI中启用表之 ...