如何将指定网站的实时动态值通过Xpath导入到Google Sheet
网站动态值导入Google Sheet实现方案
你需要提取的目标数值为前端JavaScript动态渲染内容,Google Sheet原生IMPORTXML仅能抓取未经过JS渲染的静态HTML源码,因此直接调用该函数无法获取到目标值,可通过以下两种方案实现需求:
方案1:自定义Google Apps Script函数(推荐,无额外依赖)
操作步骤如下:
- 打开目标Google Sheet,点击顶部菜单栏「扩展程序」→「Apps Script」进入脚本编辑器
- 删除编辑器默认生成的
myFunction代码块,粘贴以下自定义函数代码:
function GET_AXIE_TRACKER_VALUE() { // 可优先通过浏览器F12开发者工具的网络面板,找到返回目标数值的后端API接口,直接请求接口解析JSON,稳定性远高于解析页面元素 const targetUrl = "https://tracker.axie.management/ronin:4f850f91b6d87f47d8e15e0bd63b330d20e862fe/overview"; const requestOptions = { muteHttpExceptions: true, 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" } }; try { const response = UrlFetchApp.fetch(targetUrl, requestOptions); const pageContent = response.getContentText(); // 可根据页面实际返回的数值格式调整正则规则,也可引入Xpath解析库匹配你提供的Xpath路径 const valueRegex = /<span[^>]*>([\d,.]+)<\/span>/; const matchResult = pageContent.match(valueRegex); return matchResult ? matchResult[1] : "未匹配到目标数值"; } catch (e) { return "请求失败:" + e.toString(); } }
- 保存脚本项目,自定义项目名称后返回Google Sheet,在任意单元格输入
=GET_AXIE_TRACKER_VALUE()即可返回目标数值 - 如需设置自动更新,可在Apps Script编辑器的「触发器」板块,配置定时执行规则,支持按分钟/小时/天等周期自动刷新数值
方案2:第三方无代码抓取工具(无需编写代码)
你可以使用支持JS动态渲染的Google Sheet第三方抓取插件,只需要输入目标网址和你提供的完整Xpath路径,即可自动拉取数据到表格中,大部分同类插件都支持自定义自动更新频率。
注意:请提前确认目标网站的使用规则与爬虫协议,确保你的抓取行为符合网站要求,避免触发反爬限制。
内容的提问来源于stack exchange,提问作者Samuel Wong
相关产品推荐
相关产品推荐

