power BI爬取网页数据方法

本文介绍了如何使用Power BI从web网页抓取数据,以获取城市空气质量指数为例,详细解析了网址分析、获取第一页数据的步骤,并展示了如何设定自定义函数以实现参数化数据获取。
摘要由CSDN通过智能技术生成

power bi进行数据分析时,数据可以从本地文件、数据库或者web网页获取,今天我们就来学习下从web网页获取数据的方法。
本文以采取城市当天空气质量指数数据为例

一、网址分析

北京市当天的空气质量数据:
http://www.air-level.com/air/beijing/
成都市当天的空气质量数据:
http://www.air-level.com/air/chengdu/
对比发现切换不同城市,改变的只有城市的名称,其他不变,我们就可以把城市名称设为参数,

二、使用power bi获取第一页数据

打开PowerBI Desktop,选择从网页获取数据,从弹出的窗口中选择【高级】,根据上面分析的网址结构,把除了最后一个城市ID的网址输入第一行,城市名输入第二行,点击确定,加载出对应的数据表在这里插入图片描述
勾选需要的数据表,选择转换数据到PQ编辑界面进行数据编辑。
在这里插入图片描述
在这里插入图片描述
数据获取成功。

Power BI本身并不直接支持通过Web URL爬取多页表格数据,因为它主要用于数据可视化和BI工具,而不是网络抓取技术。然而,你可以借助一些外部工具和技术来实现这个目标,比如Python(使用BeautifulSoup, Selenium等库)、JavaScript(Puppeteer)或者RPA(如UiPath、Automation Anywhere)。 以下是一个基本步骤示例,使用Python和BeautifulSoup库: 1. **安装所需库**: - 安装`requests`库用于发送HTTP请求 - 安装`beautifulsoup4`库解析HTML ```bash pip install requests beautifulsoup4 ``` 2. **编写脚本**: ```python import requests from bs4 import BeautifulSoup def get_table_data(url): response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 找到表格元素(根据实际网页结构定位) table = soup.find('table') # 或者其他表标签,如'div class="data-table"' if table: data = [] for row in table.find_all('tr'): cols = [cell.text.strip() for cell in row.find_all(['th', 'td'])] data.append(cols) return data else: return None # 爬取多页链接,这里假设URL列表存在 urls = ['http://example.com/page1', 'http://example.com/page2', ...] all_data = [] for url in urls: page_data = get_table_data(url) if page_data: all_data.extend(page_data) # 将数据保存或导入Power BI # 可能需要将结果转换成适当的数据格式,例如CSV或json,然后加载到Power BI工作区 ``` 请注意,你需要针对具体的网页结构定制代码,因为每个网站的HTML标记可能有所不同。在处理大量数据或频繁访问网站时,还要注意遵守网站的robots.txt规则和反爬虫策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值