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

Power Query Web.Contents因不支持浏览器失败,如何修改User Agent?

问题:Power Query获取ESPN数据时因User Agent被拦截,如何修改?

此前用Power Query从ESPN网站获取NFL赛程数据一直正常(仅刷新较慢),但本周开始无法返回数据,提示“使用了不支持的浏览器”。使用的查询语句为:

Source = Web.Page(Web.Contents("https://www.espn.com/nfl/schedule/_/week/6/year/2022/seasontype/2"))

经排查发现当前Power Query使用的User Agent为:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; Win64; x64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; Zoom 3.6.0)

该UA对应Windows 8系统下处于IE7兼容模式的IE11,而设备为Windows 11 64位系统,默认浏览器为Chrome(105.0.xxx),同时安装了MS Edge(106.0.xxx),询问是否有方法修改Power Query所使用的User Agent。


解决方案:通过Web.Contents自定义请求头修改User Agent

Power Query的Web.Contents函数支持通过Headers参数自定义请求头,以此替换默认的User Agent,具体步骤如下:

  1. 获取目标浏览器的User Agent
    打开Chrome或Edge,按F12进入开发者工具,切换到「网络」标签页,刷新任意页面后点击任意请求,在「请求头」区域找到User-Agent字段,复制其完整值。

  2. 修改Power Query查询语句
    在Web.Contents中添加Headers参数,传入自定义的User Agent。示例如下(替换为你实际复制的UA字符串):

    let
        CustomHeaders = [
            #"User-Agent" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36"
        ],
        Source = Web.Page(Web.Contents("https://www.espn.com/nfl/schedule/_/week/6/year/2022/seasontype/2", [Headers=CustomHeaders]))
    in
        Source
    
  3. 注意事项

    • 首次运行时若出现权限提示,需允许Power Query使用自定义请求头访问目标网站。
    • 若仍无法获取数据,可从浏览器请求中复制完整的请求头字段(如Accept、Referer),一并添加到CustomHeaders中。

内容的提问来源于stack exchange,提问作者Anthony Cyclone Henry

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 03:30:55