专栏首页学谦数据运营用Python任意刷新Power BI国际版

用Python任意刷新Power BI国际版

众所周知,Power BI即便是PRO账号也仅仅提供每日8次自动刷新,但对于很多业务场景而言是远远不够的。

Power BI在国内由世纪互联运营,任意刷新设置请看以下两篇文章:

如果雇一个人7d×24h每10秒刷新一次Power BI,我需要每月支付他多少钱?

如果雇一个人7d×24h每10秒刷新一次Power BI,我需要每月支付他多少钱?【2】

那国际版刷新策略是否和国内世纪互联运营的版本相同呢?

由于两个版本的Power BI服务器位置不同,所以还是有所差异的:

首先是刷新网址:

世纪互联版:

https://wabi-mc-sha-redirect.analysis.chinacloudapi.cn/powerbi/content/packages/2314354/refresh/

国际版:

https://wabi-us-north-central-c-primary-redirect.analysis.windows.net/powerbi/content/packages/334164/refresh/

能够明显看出,世纪互联版和国际版的服务器差异。相应地,在请求头host上也会有差异:

世纪互联版:'wabi-mc-sha-redirect.analysis.chinacloudapi.cn';

国际版:'wabi-us-north-central-c-primary-redirect.analysis.windows.net'

另外,世纪互联版的请求头origin和referer字段都是'https://app.powerbi.cn',而国际版都是'https://app.powerbi.com'。

其他地方完全相同。

我们做一下测试:

完整源代码请关注公众号【学谦数据运营】回复“pbi自动刷新3”获取。

同样的问题,我们在浏览器中获取的token是短时间内有效的:

从产生这个token到它expire总共是一小时,因此如果你需要在1小时内高强度重复刷新,比如1秒钟刷新一次,那么这种方式完全适合你。

如果你想要全天一直盯着数据看,又不想一小时就更换一下token,那么你就得再多学一些技能了。比如找个什么东西可以在token expire之前就获取新的token。

因为登录powerbi后一天内是不会自动登出的,所以无论任何时候你只要能获取当前浏览器的cookie,它一定是在有效期内的,也就是一定可以用来刷新报表。

那有没有自动获取浏览器cookie的工具呢?

无所不能的Python大法自然是有的:browsercookie库帮你解决。

从名字就可以看得出,browsercookie是帮助你获取浏览器cookie的:

pip install browsercookie

下载导入库之后,用法比较简单:

import browsercookieimport re
chrome_cookie = browsercookie.load()
for cookie in chrome_cookie:
    if xxxxxx:
        xxxxx

一般用这个库的时候还需要用到正则,导入库:

import re

自己试着匹配一下就出来了,这里就不多说了。

或者其实可以不需要查找特定的cookie,直接用全部的cookie去当做请求头也是可以识别的。

正所谓:

还是Python大法好啊。

需要注意的一点:browsercookie库只支持Firefox和Chrome浏览器,而Chrome浏览器在升级了80版本之后,极大地限制了第三方调用cookie:

所以如果想用这个功能,不要升级Chrome到最新版本,或者使用Firefox浏览器。

当然,能够获取浏览器cookie的方式不知这一种,再提供两个关键字:

webdriver

sqlite3

本文分享自微信公众号 - 学谦数据运营(XueQianData),作者:陈学谦

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 谈一谈Power BI的自动恢复,你用得到,你却想不到

    Power BI在3月份更新之后,用着用着就经常发生诸如内存不足、报表问题等此类的错误,:

    陈学谦
  • PowerBI REST APIs好玩吗?

    最近几天一直在研究PowerBI REST APIs,调用API来做一些事情是非常有趣的。我呢,主要有两个目的:

    陈学谦
  • 手把手教你SQL可视化客户端Navicat安装

    SQL是一门深奥的语言,但是入门却很简单,比如我们仅仅是为了用来存储数据以便Power BI能够调用,最基本的增、删、改、查等操作就能满足日常的要求,涉及到的语...

    陈学谦
  • HttpOnly是怎么回事?

    最近配合公司安全团队开展一些工作,安全团队建议,内部系统(用户端系统有跨域需求,其他方式解决更合适)对接SSO建议开启HttpOnly。HttpOnly?没听说...

    普通程序员
  • Kubernetes-身份认证

    所有的系统都存在访问和使用其的用户,Kubernetes也一样,在Kubernetes集群中有存在两类用户:

    菲宇
  • dedecms数据库表前缀不一样怎么还原数据

      我们在用dedecms建站时,安装一般都“下一步”直接往下点,这样默认的表前缀是dede_,如果我们要还原从其他地方拷贝过来的数据,一定要注意表头是否一致。...

    ytkah
  • 初探oVirt-体验sdk-python

    py3study
  • 从源码解读Vue生命周期,让面试官对你刮目相看

    在我们的实际项目中,与Vue的生命周期打交道可以说是家常便饭。掌握Vue的生命周期对开发者来说是特别重要的。那么如果能够从源码角度理解Vue的生命周期,对我们的...

    童欧巴
  • vue-生命周期 源码

    生命周期的过程就是vue实例从创建到销毁的过程。在这个过程中提供了一些钩子函数用于让用户自定义一些方法。

    用户3258338
  • 熵、交叉熵和散度,这是一篇最纯碎的理解!

    本文是「小孩都看得懂」系列的第八篇,本系列的特点是极少公式,没有代码,只有图画,只有故事。内容不长,碎片时间完全可以看完,但我背后付出的心血却不少。喜欢就好!

    double

扫码关注云+社区

领取腾讯云代金券