Excel使用Get Data from Web时URL参数&membership=expired被忽略如何解决
Excel Get Data from Web筛选参数不生效解决方案
问题根因
目标站点会校验请求头标识,Excel默认发送的请求头与浏览器不一致,站点会忽略筛选参数,返回默认的未过期会员数据。
解决步骤
方法1:模拟浏览器请求头(推荐,无需处理Cookie)
- 进入Excel「数据」选项卡,点击「获取数据>自其他来源>空白查询」,打开Power Query编辑器
- 替换编辑栏的默认代码为以下内容,手动指定请求头模拟Chrome浏览器:
let 源 = Web.Contents("https://usatt.simplycompete.com/userAccount/s2?membership=expired&pageSize=3", [ Headers = [ #"User-Agent" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", #"Accept" = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" ] ]), 加载表格 = Web.Page(源){0}[Data] in 加载表格
- 点击「关闭并上载」即可获取到会员已过期的3条目标数据。
方法2:携带浏览器Cookie(适用于需要登录态的场景)
如果方法1未生效,说明站点需要验证登录态:
- 打开Chrome访问目标链接,按F12打开开发者工具,切换到「网络」标签,刷新页面后找到路径为
s2的第一条请求 - 点击该请求,在「请求头」板块复制完整的Cookie字段内容
- 修改方法1中的Power Query代码,在Headers中新增Cookie配置:
Headers = [ #"User-Agent" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", #"Accept" = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", #"Cookie" = "你从Chrome中复制的完整Cookie内容" ]
方法3:修正URL参数格式
避免使用HTML编码的&拼接参数,直接使用&即可,同时删除问号后多余的&,避免参数解析异常。
内容的提问来源于stack exchange,提问作者Eggart
相关产品推荐
相关产品推荐

