You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerBI导入网页GOLD KOERSEN表报DataSource.Error无法获取页面内容

PowerBI导入目标金价表格可行方案

问题根因

目标网站开了爬虫拦截,而且GOLD KOERSEN表格是JS动态加载的,不是静态写在网页源码里的。PowerBI默认发的网页请求头特征太明显,直接就被网站拦了。此前尝试的修改Source步骤URL、仅配置等待选择器、调整超时时间的操作,都没有把请求伪装成真实浏览器,所以无法生效。

方案1:直接调用后端数据接口(稳定性最高)

目标表格数据是页面加载后通过后端接口异步拉取的,直接调用接口拿数据不需要渲染整页,绕过页面拦截的概率最高:

  • 打开目标网页,按F12开开发者工具,切到「网络」面板,刷新页面,筛选Fetch/XHR类型的请求
  • 挨个点请求看返回内容,找到返回GOLD KOERSEN表格数据的对应请求,复制它的请求地址,还有请求头里User-Agent、Referer这两个字段的值
  • 回PowerBI选「从Web获取数据」-「高级」,粘贴刚才复制的接口地址,在HTTP请求头里加上刚才复制的两个字段和对应值
  • 连上之后拿到的是结构化的JSON数据,直接在Power Query里展开成表就行,不用等页面渲染。

方案2:补全Web.BrowserContents模拟参数

如果不想抓取接口,可替换原有Source步骤的M代码,补全真实浏览器的请求头和等待参数,绕过基础拦截:

Source = Web.BrowserContents(
    "https://www.argentorshop.be/verkoop-uw-edelmetaal-aan-argentorshop/verkoop-uw-goudstaven-en-of-gouden-munten-aan-argentor/",
    [
        WaitFor = [
            Selector = "#verkopen > div.bootstrap-table",
            Timeout = #duration(0,0,2,0)
        ],
        Headers = [
            #"User-Agent" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36",
            #"Accept-Language" = "nl-BE,nl;q=0.9,en;q=0.8",
            #"Accept" = "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"
        ]
    ]
)

代码说明:

  • WaitFor加了2秒超时,给前端JS留够加载表格的时间,避免元素还没渲染就开始抓内容
  • 补了真实Chrome浏览器的请求头,把PowerBI的请求伪装成普通用户的浏览器访问,绕过基础拦截
  • 连接成功后直接用Power Query自带的「从HTML提取表」功能,选GOLD KOERSEN对应的表导入就可以
  • 别用Web.Contents代替Web.BrowserContents,前者不会跑页面里的JS,根本拿不到动态加载的表格。

方案3:本地脚本中转(上面两个方法都不行的时候用)

要是网站有更严的浏览器指纹校验,PowerBI自带的浏览器内核过不了验证,就用本地脚本中转:

  • 本地写个简单脚本,用浏览器自动化工具打开目标页面,等GOLD KOERSEN表格加载完,把表格数据导出成CSV,或者直接输出结构化数据
  • PowerBI直接读本地存的CSV,或者连脚本的输出结果就行,这个方法完全模拟真人打开网页的操作,基本不会被拦。

内容的提问来源于stack exchange,提问作者Bjorn Mistiaen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 13:30:45