使用 Python/Selenium 抓取网站的 Power BI dashboard

简介: Power BI可以帮助用户从不同来源的数据中提取信息,生成交互式报表和可视化仪表盘。Power BI dashboard是Power BI的一个重要组成部分,它可以将来自多个数据源的数据整合到一个面板上,为用户提供全面的数据洞察。通过Power BI dashboard,用户可以方便地查看关键指标的实时数据、分析趋势变化和发现隐藏在数据中的模式和趋势。重点是Power BI dashboard是使用 JavaScript 呈现的,因此在尝试抓取任何数据之前,需要确保页面已完成加载。可以使用 WebDriverWait 类等待某个元素出现在页面上,这是页面加载完成的良好指示。

77.png

Power BI可以帮助用户从不同来源的数据中提取信息,生成交互式报表和可视化仪表盘。Power BI dashboard是Power BI的一个重要组成部分,它可以将来自多个数据源的数据整合到一个面板上,为用户提供全面的数据洞察。通过Power BI dashboard,用户可以方便地查看关键指标的实时数据、分析趋势变化和发现隐藏在数据中的模式和趋势。Power BI dashboard还具有高度的可定制性,用户可以自定义视觉效果、添加交互式过滤器和动态控件,使得数据分析更加直观和生动。同时,Power BI dashboard还支持实时数据更新和与其他应用程序的无缝集成,为用户提供了更便捷、高效和灵活的数据分析体验。

很多网站都是用Power BI动态生成统计网页,那么如何使用 Python/Selenium 采集这类网页呢?重点是Power BI dashboard是使用 JavaScript 呈现的,因此在尝试抓取任何数据之前,需要确保页面已完成加载。可以使用 WebDriverWait 类等待某个元素出现在页面上,这是页面加载完成的良好指示。以下是使用Selenium和爬虫代理IP采集Power BI dashboard网页并获取dashboard数据的Python示例代码:

fromseleniumimportwebdriverfromselenium.webdriver.common.keysimportKeysfromselenium.webdriver.common.proxyimportProxy, ProxyTypefromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.webdriver.supportimportexpected_conditionsasECfromselenium.webdriver.common.byimportByfromtimeimportsleep# 亿牛云(动态转发隧道代理)爬虫代理加强版 IP地址、端口号、用户名和密码proxy_host='www.16yun.cn'proxy_port='31000'proxy_username='16YUN'proxy_password='16IP'# 创建代理对象proxy=Proxy()
proxy.proxy_type=ProxyType.MANUALproxy.http_proxy=f'http://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}'proxy.ssl_proxy=f'http://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}'# 设置Chrome浏览器驱动程序使用代理options=webdriver.ChromeOptions()
options.add_argument('--proxy-server=%s'%proxy.http_proxy)
options.add_argument('--disable-notifications')
options.add_argument('--disable-popup-blocking')
options.add_argument('--disable-infobars')
options.add_argument('--mute-audio')
driver=webdriver.Chrome(options=options)
# 跳转到Power BI仪表盘的URLurl='https://app.powerbi.com/view?r=eyJrIjoiYzg3NzQ0OTMtMjMwOC00Y2U2LThkNzItOGFkNjQ1YWE2OWQ4IiwidCI6IjA3NmJmNDliLTIxZmMtNDBjZS1hZTY0LWM1OTUwYTAyODk4NiJ9'driver.get(url)
# 等待仪表盘加载完成wait=WebDriverWait(driver, 20)
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.visual-containerHost')))
# 查找仪表盘上的数据元素data_elements=driver.find_elements_by_css_selector('.visual-containerHost')
# 从每个元素中提取数据forelementindata_elements:
# 获取数据标题title=element.find_element_by_css_selector('.visual-title').textprint('标题:', title)
# 获取数据值values=element.find_elements_by_css_selector('.value')
forvalueinvalues:
print('数值:', value.text)
# 关闭浏览器驱动程序driver.quit()

在这个示例代码中,我们首先设置爬虫加强版代理服务器的IP地址、端口号、用户名和密码,跳转到Power BIdashboard 的URL,并使用WebDriverWait类等待某个元素出现之后,再查找dashboard上的数据元素。最后,我们从每个数据元素中提取数据,并将其打印到控制台。

相关文章
|
12天前
|
数据采集 Web App开发 数据挖掘
使用Python和BeautifulSoup轻松抓取表格数据
使用Python和BeautifulSoup,结合代理IP,可以从网页抓取表格数据,如中国气象局的天气信息。通过requests库发送HTTP请求,BeautifulSoup解析HTML提取表格。安装必要库后,设置代理IP,发送请求,解析HTML找到表格,提取数据并存储。通过Pandas进行数据分析,如计算平均气温。这种方法让数据抓取和分析变得更加便捷。
使用Python和BeautifulSoup轻松抓取表格数据
|
13天前
|
数据采集 Web App开发 数据处理
一步步教你用Python Selenium抓取动态网页任意行数据
使用Python Selenium爬取动态网页,结合代理IP提升抓取效率。安装Selenium,配置代理(如亿牛云),设置User-Agent和Cookies以模拟用户行为。示例代码展示如何使用XPath提取表格数据,处理异常,并通过隐式等待确保页面加载完成。代理、模拟浏览器行为和正确配置增强爬虫性能和成功率。
一步步教你用Python Selenium抓取动态网页任意行数据
|
6天前
|
XML 测试技术 数据格式
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(下)
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(下)
18 3
|
6天前
|
Java 测试技术 程序员
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(上)
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(上)
24 1
|
7天前
python+Pycharm+selenium操作浏览器(Chorme或Edge)
python+Pycharm+selenium操作浏览器(Chorme或Edge)
12 1
|
17天前
|
数据采集 存储 数据挖掘
Python网络爬虫实战:抓取并分析网页数据
使用Python的`requests`和`BeautifulSoup`,本文演示了一个简单的网络爬虫,抓取天气网站数据并进行分析。步骤包括发送HTTP请求获取HTML,解析HTML提取温度和湿度信息,以及计算平均温度。注意事项涉及遵守robots.txt、控制请求频率及处理动态内容。此基础爬虫展示了数据自动收集和初步分析的基础流程。【6月更文挑战第14天】
99 9
|
15天前
|
存储 数据挖掘 索引
Python streamlit框架开发数据分析网站并免费部署
使用Python的Streamlit框架,开发了一个在线数据分析工具,替代Excel查看设备温度CSV数据。通过pandas读取数据,matplotlib绘制图表。程序处理CSV,提取所需列,计算最大最小平均值,用户可多选查看特定数据。[GitHub](https://github.com/yigedaigua/MGHB)上有完整代码,应用已部署至Streamlit Cloud。
|
2月前
|
Web App开发 负载均衡 前端开发
Python网络数据抓取(7):Selenium 模拟
Python网络数据抓取(7):Selenium 模拟
43 5
|
2天前
|
数据采集 Web App开发 iOS开发
经验大分享:Python抓取糗事百科成人版图片
经验大分享:Python抓取糗事百科成人版图片
|
4天前
|
数据采集 XML 存储
基于Selenium+Python实现自动解数独,秒变最强大脑
基于Selenium+Python实现自动解数独,秒变最强大脑