如何创建可自动更新文件路径的Power Query连接?解决IMPORTXML报错
Power Query自动获取钻机统计文件路径并刷新方案
问题背景
无需登录即可获取目标页面的「北美旋转钻机数量数据透视表(2011年2月至今)」文件,目标页面地址为https://rigcount.bakerhughes.com/na-rig-count。手动复制的当前文件直链为https://rigcount.bakerhughes.com/static-files/cb205922-552b-4f88-954f-665a2b1c731f,但需要实现每周定时刷新时自动更新该文件路径,避免手动操作。此前尝试用Google Sheets的IMPORTXML公式:
=IMPORTXML("https://rigcount.bakerhughes.com","/html/body/div[2]/div/div/div/div[2]/article/div/div[2]/div/div/div[2]/div/div/div/table/tbody/tr[2]/td[2]/div/div/article/div/div/div/div/span[1]/a")
结果报错:Could not fetch url: https://rigcount.bakerhughes.com
Power Query实现步骤
1. 新建查询获取页面内容
- 打开Excel,点击「数据」选项卡 → 「获取数据」→ 「从其他来源」→ 「从Web」
- 在弹出窗口选择「高级」模式,输入目标页面URL:
https://rigcount.bakerhughes.com/na-rig-count - 添加请求头:
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),模拟浏览器访问绕过反爬限制(这也是Google Sheets报错的核心原因) - 点击「确定」加载页面HTML内容
2. 提取最新文件直链
- 在Power Query编辑器中,定位到HTML结构里的「Tables」节点,找到包含目标文件链接的表格
- 展开表格内容,定位到「北美旋转钻机数量数据透视表(2011年2月至今)」所在行,提取该行
<a>标签的href属性值,即为最新文件直链 - 将提取的链接转为文本格式,命名为「文件直链」
3. 加载数据并设置定时刷新
- 新建查询引用上述「文件直链」,直接加载该URL对应的Excel文件
- 调整数据格式、清理冗余内容后,将数据加载到Excel工作表
- 点击「数据」选项卡 → 「全部刷新」→ 「连接属性」,设置刷新频率为每周一次,勾选「打开文件时刷新数据」,实现自动定时更新
注意事项
- 若后续网站页面结构调整,需重新定位表格或链接位置,更新Power Query的提取逻辑
- 必须添加
User-Agent请求头,否则网站会拒绝非浏览器类请求,导致无法获取页面内容
内容的提问来源于stack exchange,提问作者Cody
相关产品推荐
相关产品推荐

