利用PowerBI抓取多页数据,轻松解析网页信息!
优采云 发布时间: 2023-03-16 14:15Power BI自带的数据源很多,但是如果需要抓取网页上的数据,该怎么办呢?本文将为大家介绍如何利用Power BI抓取多页网页数据,并进行高效的数据分析。
1.确定目标网站和要抓取的数据
在开始之前,我们需要明确要从哪个网站上抓取数据,并确定需要抓取哪些数据。例如,我们想要从优采云官网上获取所有产品的名称、价格、描述和图片等信息。
2.创建Web连接
在Power BI中,选择“获取数据”-“Web”-“基本”-“URL”中输入目标网站的URL地址,点击“确定”。
3.设置参数
在打开的窗口中,我们可以设置需要抓取的页面数量、延迟时间、请求头等参数。例如,在优采云官网中,每个页面最多显示8个产品信息,因此我们可以设置每次请求8个产品信息,并且延迟时间为3秒。
4.编写自定义函数
由于需要抓取多个页面的数据,我们需要编写自定义函数来实现这一功能。在Power BI中,选择“视图”-“高级编辑器”,然后输入以下代码:
let
GetPage =(url)=>15d327aec127875a2e537e0b13bfd63d= Web.Page(Web.Contents(url,[Headers=[#"User-Agent"="Mozilla/5.0(Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"]])),
Data1 = Source{1}[Data],
#"Changed Type"= Table.TransformColumnTypes(Data1,{{"Column1", type text},{"Column2", type text},{"Column3", type text},{"Column4", type text}})
in
#"Changed Type",
GetPages =(url, pages)=>
let
BaseUrl = Text.BeforeDelimiter(url,"?"),
Params = Text.AfterDelimiter(url,"?"),
PageUrls = List.Transform({1..pages}, each BaseUrl &"?"& Params &"&71860c77c6745379b0d44304d66b6a13="& Text.From(_)),
PagesData = List.Transform(PageUrls, each GetPage(_))
in
PagesData,
Output = GetPages("https://www.ucaiyun.com/products",3)
in
Output
这段代码主要实现了两个自定义函数:GetPage和GetPages。GetPage函数用于抓取单个页面上的数据,而GetPages函数则用于循环调用GetPage函数,并将多个页面上的数据合并成一个表格。
5.合并表格
在获取到所有页面上的数据之后,我们需要将它们合并成一个表格。在Power BI中,选择“开始”-“合并查询”,然后选择要合并的查询对象,并设置关联字段。
6.清洗数据
在合并表格之后,我们需要对数据进行清洗。例如,在优采云官网中,价格字段包含了*敏*感*词*符号(¥)和千位分隔符(,),我们可以使用ReplaceValue函数来去除这些符号:
#"Replaced Value"= Table.ReplaceValue(#"Merged Queries","¥","", Replacer.ReplaceText,{"价格"}),
#"Replaced Value1"= Table.ReplaceValue(#"Replaced Value",",","", Replacer.ReplaceText,{"价格"}),
#"Changed Type"= Table.TransformColumnTypes(#"Replaced Value1",{{"名称", type text},{"价格", type number},{"描述", type text}})
7.创建报表
在完成数据清洗之后,我们就可以创建报表了。在Power BI中,选择“开始”-“新建视觉化”,然后选择要展示的图表类型,并设置相应的字段和格式。
8.添加筛选器
如果需要对某些字段进行筛选或排序,可以使用Power BI自带的筛选器。在Power BI中,选择“视觉化”-“筛选器”,然后选择要添加筛选器的字段即可。
9.发布报表
最后,在完成报表制作之后,我们可以将其发布到Power BI服务中,并分享给其他人查看或编辑。同时,在发布报表时也可以对其进行SEO优化以提高搜索排名。
通过以上几个步骤,我们就可以利用Power BI抓取多页网页数据,并进行高效的数据分析了。如果您还没有尝试过这项功能,请务必尝试一下!