Power BI实用技巧——批量爬取网页数据

Power BI实用技巧——批量爬取网页数据

  

   假设我是个电商公司老板,我的公司最近要上架一款新产品,我需要你来帮我做一个竞品分析,同类型产品的评分、价格、销量、市场占有率最高的品牌详情,来帮助我进行前期宣发,这个时候最让你一筹莫展的环节是什么?我猜是数据从哪来?竞争对手当然是不会整理一张表发你的喽

 

既然是电商,那么所有数据来源就只能从电商平台获取,那么问题也就接踵而至了,网页爬取数据不规范,数据清洗困难重重,相同产品网页少则十几页,多则几十页,难道要一页一页的爬吗?这时候我又来让你搞快点,不然别下班,不要耽误我赚钱!怎么办?难道真的要为了区区五斗米熬夜?当然不用喽!跟我一起做,五分钟爬取海量数据,解决让你头秃的难题!

 

案例:当当网累计好评榜批量爬取

1、单量采集:http://bang.dangdang.com/books/fivestars/01.00.00.00.00.00-all-0-0-1-1

上方展示网址为当当网累计好评榜网址,复制这个网址,打开Power BI,第一步:点击获取数据,选择Web(从网页导入数据),第二步:粘贴网址,点击确定,

★第一步:获取数据

 

 

★第二步:链接网址

 

 

点击导航器显示选项左下角“使用示例添加表”,展开如下界面

 

 

★第三步:规范采集

这里假设我们要提取宝贝名称、作者、出版社、出版日期,五星评论、总评论数量等,将我们要提取的项目名称输入到列名中,在列中输入我们要提取的内容,比如我们要提取宝贝名称,在列中输入高尔基成长三部曲(童年、在人间、我的大学”,回车系统便可自动向下填充我们要提取的内容,下图为我已经提取好的表截图,

 

 

点击确定,选择表4,点击转换数据进入Power Query界面对加载上来的表格进行清洗,比如替换数据列中的文字,将数据转换为可以运算的数据格式等,最终得到一张规范的数据表格,如图所示,

 

 

进行到这一步,单量采集就算大功告成了,有些小伙伴很疑惑,数据清洗为啥不等批量采集完成在一起做呢?这样等批量采集完成后,岂不是又要清洗一遍?请带着这个疑问继续阅读哦!

 

 

2、批量采集:

★第一步:解析网址

 

 

上面的网址是当当网累计好评榜第一页和第二页的网址,我们通过观察发现红框位置内容是一样的,唯一发生变化的是网址后缀的12,我们需要爬取的数据总共有25页,按照这个规律,后缀变量应该是125请记住这个规律,很关键!

★第二步:创建函数

选中我们加载上来的表4,点击右键,选择创建函数,跳出提示框

 

 

 

点击创建,跳出提示框,输入函数名称为“调用函数”,点击确定,出现如下界面

 

 

接下来我们就要对上图中的M函数进行修改,主要修改第一行和第二行,其他代码保持不变,将函数修改为:

➽示例

 =(x as text) => let

         = Web.BrowserContents("http://bang.dangdang.com/books/fivestars/01.00.00.00.00.00-all-0-0-1-"&x),

 

√代码解析:标红位置为修改位置,

(x as text)这里的含义是将x作为文本变量,http://bang.dangdang.com/books/fivestars/01.00.00.00.00.00-all-0-0-1-"&x这里的含义是将网址与文本变量连接,形成一个完整的网址;

 

点击调用,我们的调用函数就创建完成了。

★第三步:创建变量序列表

1、接下来我们回到主页选项卡,点击新建源,选择空查询,建立一个空白查询页,如图

 

 

2、在代码输入框中输入一个M函数:

★示例

= List.Numbers(1,25,1)

 

√代码解析:

 List.Number用于生成一个数字序列的列表

(1,25,1)起始数据是1,创建25组,间隔数据是1

代码生成一个从1开始到25结束的单列表

为什么创建这样一张表呢?因为网址后缀变量应该是125,也就是我们解析网址后,总结出来的规律,点击将此列转换为表,将列格式转换为文本(这一步很重要哦)。

★第三步:批量爬取数据

 

1、接下来就是批量采集最关键的一步了,找到添加列选项卡,选择调用自定义函数,将我们之间创建的“调用函数”添加到功能查询中,

 

 

2、点击确定,出现“要求与数据隐私有关信息”提示语。点击继续,勾选忽略此文件的隐私级别检查,点击保存,如下图所示操作,

 

 

经过漫长的等待(大概2分钟哦),系统就将网页数据全部提取上来,并返回这样一张表

 

 

 

我们只需要展开调用函数,就可以将25页网页数据批量抓取到Power Query界面,而且你会惊喜的发现,抓取到的数据不仅按照单量采集的表格规范呈现,而且已经被清洗好了,简直事半功倍啊,这是因为我们在单量采集时就完成了数据清洗,在我们创建调用函数时,保留了全部数据清洗动作代码,所以在我们批量采集网页数据时,同时也在批量的清洗数据,这也就是为什么我们要在单量采集时就完成数据清洗动作!

小贴士:如何让我们学到的知识爆金币呢?

将我们爬取到的数据关闭并应用后,就可以通过DAX studio批量导出为EXCEL表格,将数据上传到科赛网数据集专栏中,当有人下载你上传的数据时,就是知识爆金币时!不知道DAX studio批量导出数据的小伙伴,可以参考我的上一篇推文哦!

科赛网网址:https://www.heywhale.com/home,

 

 

目前已组建有BI在线服务团队,活跃接单老师超百人,专注解决BI横向、纵向相关的各类技术问题,包括但不限于各类BI工具、python、数据仓库、编程开发等服务。

 

 

 

BI包括但不限于永洪bi、quickbi、PowerBI、FineBI、Finereport、smartbi、tableau、qliksense等BI工具 ,可以制作BI系统,或解决单个项目,单个问题,考试相关、一对一教学等服务有意联系瓶子微信:wdfyqx

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/739038.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hello,NanXi~

今天是2024.07.05,注册博客已经4天了,零零散散的抽时间把博客园美化了一下(我有自定义美化的习惯,喜欢自定义性强的东西),毕竟这是我的新家啊!我准备丢掉之前自己搭建的博客了,改用博客园平台,这样会很方便,省下了自己维护网站的时间,而且平台的稳定性自然是比个人网…

HDLC报文简单分析

最近在学习HDLC协议,从刚开始的一窍不通到现在的懵懵懂懂,下面分享一段报文解析,给初学者一点点经验的分析。 报文:7E A0 57 03 02 B8 4B 5B E6 E7 00 C4 01 C1 00 01 01 02 08 09 0C 07 E8 04 05 05 0D 08 33 FF 80 00 02 06 00 00 00 02 06 00 00 00 05 06 00 00 00 07 0…

喜闻乐见的颓柿子

从洛谷搬来的高三时做的题,主要目的是测试既然一开始的时候把 dp 方程写了,第三问不如就尝试一下。 接下来我们考虑一下对 $ a_n=a_{n-1}+(n-1)a_{n-2} $ 找出通项。 首先有 $ a_1=1,,a_2=2, $ 化一下式子: \[a_n=a_{n-1}+(n-1)a_{n-2} \]即 \[\frac{a_n}{(n-1)!}=\frac{a_…

safe_shellcode

[HNCTF 2022 Week1]safe_shellcode 思路 下载附件,名称为shellcoder,很明显的shellcode提示。 判断题目解法可能是shellcode利用 常规流程查看保护发现存在NX保护,但是让我们以shellcode的思路去解题,则可能存在修改权限的函数mprotect ida打开分析分析代码,发现存在一个m…

环境变量的一些作用

环境变量的一些作用 接上篇:如果希望批量执行一组cmd指令,而不是像之前那样一次执行一个cmd指令,那么可以通过批处理来实现。将多条cmd指令存放在一个以.bat为扩展名的文件里,然后执行这个文件,这个文件就叫批处理文件。 在d:\aaa文件夹里新建demo.bat编辑,记得把文件扩展名…

Jitsi搭建流程

系统要求:Debian 11 (DD 脚本 非必需 DD,用原来的系统也 OK)。安装好宝塔(需要用到https证书)、Nninx前置: sudo -i # 切换到 root 用户apt update -y # 升级 packagesapt install wget curl sudo vim git -y # Debian 系统比较干净,安装常用的软件 1:安装 Docker 环…

代码随想录算法训练营第五十三天 | 739.每日温度 496.下一个更大的元素I 503.下一个更大的元素II

739.每日温度 题目链接 文章讲解 视频讲解 单调栈适合的场景:求当前元素左面或右面第一个比它大或小的元素单调栈里存什么元素 只要存下标就可以了,比较元素时可以通过下标取元素 单调栈是单调增还是单调减(从栈顶到栈底) 使用单调增的单调栈解题步骤:遍历数组,当栈空时直…

积分中值定理的证明1

积分中值定理的证明如下:

24年读书清单

最近整理的读书清单,今年的读书就从里面挑选了;

【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错

问题描述 iOS Objective-C 应用,连接Azure Storage Account, 根据官网Example代码,在没有关闭Storage Account的匿名访问时,程序正常运行。但是,只要关闭了匿名访问,上传blob到Container中,就会报错:Public access is not permitted on this storage account 问题解答…

模拟集成电路设计系列博客——9.4 ESD保护单元

模拟集成电路设计 9.4 ESD保护单元 ESD,即electrostatic discharge(静电放电)是集成电路设计中的一个经典问题。通常在电路的生产和使用过程中,很容易由于各种原因积累大量的静电电荷,一旦产生静电放电,极高的静电电压(可能\(>1000V\))会对电路产生不可逆的破坏。因…

函数进阶应用1

Excel函数进阶VLOOKUP函数 返回多列结果 通过混合引用,match函数查找以及Vlookup函数,使用填充柄拖拽行列填充 操作演示:说明首先我们可以写一个普通的VLOOKUP函数通过match函数找到要填充的符合条件的内容所在单元格的位置在拖拽时,分析哪些需要绝对引用,哪些需要混合引用…

Linux学习前置,红帽Linux系统安装

前置: 下载:VMware Workstation Pro 17,以及所需要使用的Linux版本;安装VMware Workstation; 安装: 进入VMware后选择新建虚拟机: 选择Linux和red hat 9版本; 选择使用网络地址转换 接下来选择推荐的设置就好; 选择新建磁盘 虚拟机创建好后在设备一栏里单击CD/DVD(SAT…

C++:win11下的VScode构建百度Comate

一. VScode的安装官网下载地址:https://code.visualstudio.com/ (选择好对应的系统版本) 汉化:安装完软件后,打开软件界面的"扩展商店",搜索Chinese,下载相应的插件,如下图:二. 配置C++开发环境VSCode只是一个高级的编辑器,可以用来写C++代码,不能直接编译…

学习笔记(0):重拾Halcon

目录前言教学视频 前言 了解我的人可能知道,我其实很想回去全职做外贸,但是大环境不好,淘宝做了3个月,1688做了1个月。我只能说销量很惨淡。现在打算还是老老实实上班去了。 教学视频 我之前找一个B站UP主,买了一下他的教学视频。600块钱,总共有40集,大概10个小时。大概…

Golang channel底层是如何实现的?(深度好文)

Go语言为了方便使用者,提供了简单、安全的协程数据同步和通信机制,channel。那我们知道channel底层是如何实现的吗?今天k哥就来聊聊channel的底层实现原理。同时,为了验证我们是否掌握了channel的实现原理,本文也收集了channel的高频面试题,理解了原理,面试题自然不在话…

初识XML

一.XML概述XML,Extensible Markup Language,扩展性标识语言具体作用为:(1)可作为一种简单的数据库,存储并检索数据;(2)传输约定格式的文件;(3)做软件的配置文件。【配置文件:保存软件设置的文件】HTML和XML的区别:HTML标签不能自定义,XML标签只能自定义。 HTML语法要…

本地Windows10怎样配置免安装版本MySQL?

下载MySQL免安装压缩包下载地址:https://downloads.mysql.com/archives/community/ 解压安装1、接下来我们解压文件夹,这时我们解压的文件夹是没有my.ini文件和data目录,这时我们需要自己创建my.ini文件,data文件后期回自动生成 2、新建配置my.ini文件,并添加配置信息,如下…

8、IDEA集成Git

8.1、配置Git忽略文件 8.1.1、忽略文件的原因 在使用 IDE 工具时,会自动生成一些和项目源码无关的文件,所以可以让 Git 忽略这些文件。 此外,把这些无关文件忽略掉,还能够屏蔽不同 IDE 工具之间的差异。 8.1.2、创建忽略规则文件如上图所示,在用户家目录下创建了一个忽略规…

时间序列分析专题——指数平滑模型

指数平滑法模型,分为季节性模型和非季节性模型。季节性模型只有在为活动数据集定义了周期时才可用。 本章只理论性地介绍这六种指数平滑法模型,让学习者在论文的应用中有话可写。 在具体实现中,SPSS会自动识别并给定一种最好的模型。 目录一、简单指数平滑法1.模型介绍2.关于…