高效抓取多页网页数据,轻松分析——Power BI实用技巧
优采云 发布时间: 2023-04-07 13:18在数据分析领域,Power BI已经成为了众多企业和个人的首选工具。然而,要想实现高效的数据分析,首先需要拥有高质量的数据源。而对于需要从多个网页上获取数据的情况,手动复制粘贴无疑是一种低效且容易出错的方式。本文将介绍如何使用Power BI抓取多页网页数据,让您的数据分析工作更加高效。
第一步:确定目标网站和需要抓取的数据
首先需要确定目标网站和需要抓取的数据。在本文中,我们以 https://www.ucaiyun.com/为例,假设我们需要从该网站上获取“SEO优化”相关文章的标题、发布时间以及文章链接。
第二步:使用Power Query进行网页抓取
在Power BI中,可以使用Power Query进行网页抓取。在“开始”界面选择“获取数据”,然后选择“从Web”选项。
在弹出的对话框中输入目标网址,并点击“确定”。
接下来,会显示该网页上的所有内容。在这里,我们需要筛选出需要的数据。首先,选择需要抓取的数据所在的表格,然后点击“编辑”按钮。
在Power Query编辑器中,可以对数据进行各种操作。例如,在这里我们可以删除不需要的列、重命名列名等。
在编辑完成后,点击“关闭并应用”按钮即可将数据导入到Power BI模型中。
第三步:使用循环方式抓取多页数据
如果需要从多个网页上获取数据,我们可以使用循环方式进行抓取。首先,需要获取目标网站上所有页面的链接地址。在Power Query编辑器中,选择“添加列”->“自定义”->“函数”。
在弹出的对话框中输入以下代码:
let
Source ="https://www.ucaiyun.com/?s=SEO%E4%BC%98%E5%8C%96",
PageCount = 10,
GenerateUrls = List.Generate(
()=>[Page=1, Url=Source],
each [Page]<=PageCount,
each [Page=[Page]+1, Url=Text.Replace(Source,"?s=SEO%E4%BC%98%E5%8C%96","page/"&[Page])],
each [Url]
),
ConvertToTable = Table.FromList(GenerateUrls, Splitter.SplitByNothing(),{"Url"}),
ExpandUrl = Table.ExpandRecordColumn(ConvertToTable,"Url",{"Url"},{"Url"})
in
ExpandUrl
其中,Source为目标网站首页地址,PageCount为需要抓取的页面数量。在这里,我们假设需要抓取前10页的数据。运行以上代码后,会生成包含所有页面链接的表格。
接下来,我们需要循环遍历每个页面,并将数据合并到同一个表格中。在Power Query编辑器中,选择“添加列”->“自定义”->“函数”。
在弹出的对话框中输入以下代码:
let
Source =(url as text)=>
let
Source = Web.Page(Web.Contents(url)),
DataTbl = Record.ToTable(Source{1}[Data]),
RemoveColumn = Table.RemoveColumns(DataTbl,{"Column1"}),
RenameColumns = Table.RenameColumns(RemoveColumn,{
{"Column2","Title"},
{"Column3","Date"},
{"Column4","Link"}
})
in
RenameColumns,
#"调用函数"= Table.AddColumn(#"上一步","Custom", each Source([Url])),
#"展开 Custom"= Table.ExpandTableColumn(#"调用函数","Custom",{"Title","Date","Link"},{"Title","Date","Link"})
in
#"展开 Custom"
其中,url为页面链接地址。运行以上代码后,会将所有页面上的数据合并到同一个表格中。
第四步:数据清洗和转换
在获取到数据后,需要对数据进行清洗和转换,以便于后续的数据分析。例如,在这里我们可以将“Date”列转换为日期格式,并添加“Year”、“Month”等列。
第五步:数据可视化
在清洗和转换数据后,就可以进行各种类型的数据可视化了。例如,在这里我们可以创建一个柱形图,显示每个月发布的文章数量。
第六步:数据刷新和自动化
在Power BI中,可以设置定期刷新数据源,并自动更新报表。例如,在这里我们可以设置每天自动刷新一次数据源。
第七步:代码分享
如果您想与他人分享代码或报表,可以使用Power BI的“共享”功能。在这里,我们可以将报表共享给其他人,并控制他们对报表的访问权限。
第八步:总结
通过使用Power BI抓取多页网页数据,我们可以轻松地获取大量数据,并进行高效的数据分析和可视化。在实际应用中,我们还可以将此方法应用于各种类型的网站和数据源中。希望本文能够对您的数据分析工作有所帮助。
本文由优采云提供,优采云是一家专业的数据分析和SEO优化服务提供商,致力于帮助企业和个人实现高效的数据分析和SEO优化。更多信息请访问 www.ucaiyun.com。