You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Google Spreadsheet ImportXML获取FamilySearch动态生成的Note列档案数据

解决Google Sheets ImportXML无法获取FamilySearch动态加载档案列表的问题

嘿,这个问题我碰到过好多次——Google Sheets的IMPORTXML确实搞不定JS动态生成的内容,因为它只会抓取页面刚加载时的静态HTML,根本不会运行页面上的JavaScript。不过针对FamilySearch这个站点,有几个靠谱的办法能拿到你要的「Note」下的档案列表:

方法1:直接抓取站点API(最推荐)

大部分动态内容都是通过后台API加载的,咱们可以直接找这个API端点来拿数据:

  • 打开目标页面,按F12调出开发者工具,切换到「Network」标签,勾选「XHR/Fetch」过滤项
  • 刷新页面,找类似/api/catalog/records/[ID]格式的请求(你的例子里ID是966883)
  • 点击这个请求,查看「Response」标签,里面大概率能找到包含「Note」内容的字段(比如note或description)
  • 复制这个API的完整URL,在Google Sheets里用IMPORTDATA()函数直接请求,或者用IMPORTJSON自定义函数(需要先安装)来解析JSON格式的响应

如果API需要认证,别慌,FamilySearch的公开 catalog 数据一般不需要登录就能访问,只要请求头里带上正常的User-Agent就行。

方法2:用Google Apps Script提取页面预加载数据

很多站点会把初始数据塞进页面的<script>标签里(比如window.__INITIAL_STATE__),咱们可以写个简单的脚本提取:

  1. 打开你的Google Sheet,点击「扩展程序」→「Apps 脚本」
  2. 替换默认代码为以下内容:
function getFamilySearchNote(url) {
  // 设置请求头模拟浏览器,避免被反爬
  const requestOptions = {
    headers: {
      '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'
    }
  };

  try {
    const pageHtml = UrlFetchApp.fetch(url, requestOptions).getContentText();
    // 匹配包含Note内容的脚本片段(需要根据实际页面调整正则)
    const noteMatch = pageHtml.match(/"note":"([^"]+)"/);
    
    if (noteMatch) {
      // 处理转义字符,还原原始内容
      let rawNote = noteMatch[1].replace(/\\"/g, '"').replace(/\\n/g, '\n');
      // 提取只包含档案编号的行(比如以「Ф.」开头的行)
      const recordList = rawNote.split('\n').filter(line => line.trim().startsWith('Ф.'));
      return recordList.join('\n');
    }
    return '未找到Note内容';
  } catch (error) {
    return `获取失败:${error.message}`;
  }
}
  1. 保存脚本,回到Sheet里输入公式:=getFamilySearchNote("https://www.familysearch.org/search/catalog/966883?availability=Family%20History%20Library"),就能拿到你要的档案列表了

注意事项

  • 正则表达式可能需要根据不同的catalog页面调整,毕竟FamilySearch的内容格式偶尔会变
  • 不要频繁请求,避免触发站点的反爬机制
  • 如果页面没有预加载数据,那可能需要用能渲染JavaScript的工具(比如Puppeteer),不过这个需要配合Google Cloud Functions,门槛稍高

内容的提问来源于stack exchange,提问作者vasja pupkin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:26:46