PBI培训(4):批量爬取web来源公开数据
前言:最近项目上有爬数据需求,好在只需要公开信息,用PBI就可以搞定,故整理了一下爬数步骤,查阅了简书和知乎大佬的文章发现还是会踩坑,这里整理一版详细的记录下来方便理解。
- 爬数方式:
- 爬单页数据并做简单清洗——创建自定义函数——高级编辑器修改函数代码增加参数——生成参数表——求参数笛卡尔积——自定义列引用函数——批量爬取网页数据
- 目标网址:https://money.finance.sina.com.cn/corp/go.php/vFD_BalanceSheet/stockid/000002/ctrl/2012/displaytype/4.phtml
一、先介绍第一种方式:
1. 获取数据——Web
2. 基本——输入网址
3. 弹出的界面中发现很多表,逐个查看可以选出需要的表17,这里咱们选【转换数据】。注意,这里选择【加载】和【转换数据】均可,【加载】是指将表17加载到PBI桌面,【转换数据】是指将数据加载到Power Query编辑器。
4. 为避免后面批量采数出现重复标题行,选择将第一行用做标题
5. 选中第一列——逆透视其他列(这里逆透视的作用是将二维表转化为一维表,方便分析统计)——替换"–“为"0”
6. 右键"表17"查询——创建函数ABC——右键选高级编辑器可查看当前代码
6. 观察
【vFD_BalanceSheet/stockid/000002/ctrl/2012】,可确定三个需要创建的参数:类型type,公司代码code,数据年份year
故将函数代码做如下修改,新建三个参数 :源 = (type_ as text,code_ as text, year_ as text) => let ABC="https://money.finance.sina.com.cn/corp/go.php/vFD_"&type_&"/stockid/"&code_&"/ctrl/"&year_&"/displaytype/4.phtml",源 = Web.BrowserContents(ABC),
7. 做到这里,已完成自定义函数及参数的创建;
- 然后还需要用于批量采数的参数表,三个参数分别为type/code/year:
- ①点击输入数据,根据采集需求输入参数值即可创建表,注意这里要额外加一列匹配列,用于后面建立三个参数表的笛卡尔积;
- ②将第一行用做标题;
- ③修改表名为type参数。
- 这里要特别注意:参数文本区分大小写
8. 同上制作三个参数表如下
9. 三个参数自由组合的结果即我们想要爬取的所有数据
- 故利用合并查询求三个参数表的笛卡尔积:type&code)——type&code&year
10. 得到合并1:
11. 继续与year合并,得出新的合并1
12. 将辅助列删除
13. 标题重命名
14. 到这里,3参数的笛卡尔积完成
15. 添加自定义列
- 输入公式:=ABC([type],[code],[year])
16. 剔除2021年
- 查看自定义列采集的数据发现,2021年的数据还没有更新所以报错,所以剔除2021年后再展开列
17. 成功
- 爬取近三年所有数据
二、再试试第二种方式
1. 还是选web获取数据——选"表17"转换数据
2. 数据处理
- 与前一种方法类似:首行标题——逆透视——“0"替换”–"
3. 创建参数:
- type、code、year(参数“类型”必须设为“文本”)
4. 插入URL字符串:
- 将3个参数插入URL字符串(点击“源”后小齿轮——切换到“高级”——把URL文本中对应的数值,用刚创建的3个参数代替)
5. 创建函数
- 创建函数ABC
6. 创建参数表,合并求笛卡尔积;
- 之后的步骤与方法1相同,建好了笛卡尔积之后添加自定义列,公式一样:=ABC([type],[code],[year]),即可得到近三年数据;
7. 得到笛卡尔积
8. 得到数据
- 添加自定义列,得到数据
总结:
- 对比两种方法,区别其实主要在于参数的处理:方法一直接在源代码修改DAX公式引入参数,方法二通过URL高级选项引入参数;前者绕过新建参数这一步,提高了效率,后者无需直接编辑DAX代码,降低了门槛。
PBI培训(4):批量爬取web来源公开数据相关推荐
- 【Python】批量爬取OSM建筑瓦片数据并整合为shp格式数据
目录 1 简介 2 效果展示 3 思路及代码 3 完整代码 4 一些说明 1 简介 最近在做一项课题,涉及到建筑足迹(Building footprints)数据.所以想看看现在比较常用的都有什么产品 ...
- 八爪鱼批量爬取html中的数据,网页数据如何批量采集_视频教程 - 八爪鱼采集器...
本视频介绍循环方式中的URL循环和文本循环. URL循环适用场景: 在多个同类型的网页中,需要采集的字段相同. 例如: https://movie.douban.com/subject/2638793 ...
- 【大众点评评论爬虫】一键获取大众点评完整评论工具批量爬取保存为excel数据
大众点评评论采集服务 服务v:spider_bj 与原网页对比 服务v:spider_bj
- 科研神器-SCI论文批量爬取
我是目录 项目简介 依赖网站 环境配置 1.关键词导出论文信息 2.依据关键词批量下载SCI论文 总结 References 项目简介 **本期教程以关键词摘要SCI论文为例,稳定自动批量爬取Sci- ...
- 写一个简单的爬虫来批量爬取新浪网的新闻
如标题,学习爬虫也有一段时间了,今天来爬取一下新浪网的新闻(其实之前自己爬过,但是隔了好久发现新浪网的网页结构有一些变化导致之前的爬虫失效了,这两天进行了一下代码更新),话不多说,进入正题. 工具:A ...
- python怎么批量爬取图片_Python制作批量爬取网络图片的方法
Python制作批量爬取网络图片的方法 发布时间:2020-11-17 11:14:24 来源:亿速云 阅读:86 作者:小新 这篇文章给大家分享的是有关Python制作批量爬取网络图片的方法的内容. ...
- 一文带你批量爬取某马拉雅音频数据并保存到本地~
文件目录 写在前面 一.需求分析 二.编程思路 三.完整代码 引用源自 写在前面 今天带给大家一个爬取因音频数据的小案例,我将案列重新复现了功能并做了些小优化,今天分享给大家.还是老规矩在文末会附 ...
- php批量爬取上市公司高管持股变动信息
php批量爬取上市公司高管持股变动信息 用php的爬虫功能 批量爬取上市公司高管的持股信息,我们只需要知道最近一年的持股变动,还需要知道有几位高管持股有变动,人数越多,才说明这个变动和公司的发展是高度 ...
- python3 requets+re 批量爬取千千(原百度)音乐
以前实验室同学需要文章和音乐,需要用爬虫爬.....要做东西参加比赛,表示好久都没写爬虫了....正如今天的正题,批量爬取千千音乐(原百度音乐)...博主会写下爬取的过程和心得(采坑记录),批量下载的 ...
最新文章
- 十进制 转换为 二进制
- linux下创建mysql用户,并且给增删改查的权限
- 【跃迁之路】【636天】程序员高效学习方法论探索系列(实验阶段393-2018.11.09)...
- LCD1602液晶显示模块的单片机驱动深入详解之硬件篇
- VTK:PolyData之ColorDisconnectedRegions
- Jenkins持续集成——用户管理
- 背景图片自适应,不重复
- 第二章16位和32位微处理器(1)——8086的编程结构与最小模式
- 【Zookeeper】基于Zookeeper实现分布式锁
- [SQL实战]之查找employees表
- python与pexpect实现ssh操作
- Fixjs实践——标签、按钮控件
- html入门教程博客,HTML基础教程
- 使用iPhone系统设置开发者,进行弱网测试
- 数据库技术-数据库概念设计
- 使用计算机生成遐想景物图像,计算机多媒体
- Python3.9的69个内置函数(内建函数)介绍,并附简单明了的示例代码
- 用python输出沙漏_2018-2019寒假作业 其一 打印沙漏
- php微信公众号测试账号密码,微信公众号测试账号配置失败竟然是因为一个字符...
- 晶圆测试Map转换(TSK/TEL/PT301)
热门文章
- redis+set+redom_Redis+命令参考(中文版)——Key(键)_IT168文库
- Alpha多样性之箱线图绘制
- 多品牌“精密空调”能集中监控?Pmcenter来为你解答
- 云呐|精密空调通讯故障报警,空调报通讯故障是什么问题?
- 零基础如何学好python?
- c语言中用flog定义,flog是什么意思
- Feathers之改变Header中Button皮肤
- 教你如何免费获取0.1米高精度卫星地图
- 11 wifi6速率_WiFi6路由好在哪?【巨齿鲨】告知真相
- 灰色关联方法matlab csdn,灰色关联分析法(GRA)实现