带凭证的Excel Web Query请求报错404 Not Found解决求助
排查步骤与解决方案
1. 确认URL有效性
- 先在已登录screener.in账号的浏览器中直接访问你使用的完整URL,确认可正常加载数据页面,排除URL拼写错误、筛选ID失效、路径不完整导致的真实404问题。
- 注意screener.in的自定义筛选页URL包含唯一screen ID,若对应筛选已被删除、或你复制的URL存在截断,都会返回404。
2. 修正身份认证配置
你之前选择Basic Auth认证属于配置错误:screener.in仅支持Cookie会话认证,不支持Basic Auth,未携带有效登录Cookie时服务端会直接返回404伪装页面不存在,按以下步骤调整:
- 在已登录screener.in的浏览器按F12打开开发者工具,切换到「网络」标签,刷新目标页面,找到对应该页面的请求,复制请求头中
Cookie字段的完整值。 - 打开Power Query高级编辑器,修改你的请求代码,手动携带Cookie请求头,参考代码如下:
let 源 = Web.Contents("替换为你的完整screener.in筛选页面URL", [ 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", #"Cookie" = "替换为你从浏览器复制的完整Cookie值" ] ]), 数据解析 = Html.Table(源, {{"股票代码", ".table tbody tr td:first-child"}, {"股票名称", ".table tbody tr td:nth-child(2)"}}) // 可根据你需要的字段调整CSS选择器 in 数据解析
- 配置完成后,身份验证类型选择匿名即可,无需再填写账号密码。
3. 后续异常处理
- 若拉取再次失败,优先检查Cookie是否过期:screener.in登录Cookie有效期为7-14天,过期后重新从浏览器复制更新即可。
- 控制请求频率,避免短时间内多次重复拉取触发反爬规则,导致被临时拦截返回404。
- 若表格解析异常,可先将
源步骤的返回值转为文本,确认返回的是登录后的正常页面内容,再调整Html.Table的选择器规则。
内容的提问来源于stack exchange,提问作者bklaal
相关产品推荐
相关产品推荐

