使用Microsoft Power Query爬取Shopify应用商店遇422错误求助
解决Power Query爬取Shopify带查询参数URL的422错误问题
核心问题根源
Shopify搜索接口对URL构造格式有严格校验,错误地将查询参数混入路径、或拆分域名/路径时格式不规范,都会触发422请求拒绝。
具体解决步骤
正确拆分域名、路径与查询参数
在Power Query的「从Web」高级选项中按以下规则填写:- 主域名:
https://apps.shopify.com - 路径:
search - 点击「添加参数」,参数名填
q,参数值填scarcity,参数类型选择「文本」
- 主域名:
用Web.Contents函数手动构造请求(更稳定)
直接在Power Query编辑器中输入M代码,通过Query参数规范请求结构,同时确保请求头符合浏览器标准:let baseUrl = "https://apps.shopify.com/search", searchParams = [q = "scarcity"], requestHeaders = [#"User-Agent"="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"], response = Web.Contents(baseUrl, [Query=searchParams, Headers=requestHeaders]) in response这种方式会让Power Query自动处理URL编码,避免手动拼接导致的格式错误,同时标准的User-Agent能通过Shopify的基础验证。
确认请求方法为GET
Shopify搜索接口仅接受GET请求,在Power Query高级选项中确保请求方法未被修改为POST。
额外注意点
- 绝对不要在路径中包含
?q=scarcity这类查询参数,必须拆分到独立的参数项中传递。 - 若仍报错,可清除Power Query缓存(「数据」选项卡→「清除缓存」→「清除所有缓存」),避免旧请求残留的影响。
内容的提问来源于stack exchange,提问作者DapperMoose
相关产品推荐
相关产品推荐

