如何用Google Sheets获取Apple Podcast最新发布日期?
能否用IMPORTHTML获取Apple Podcasts的sort-value属性?
哎,这个问题我刚好踩过坑!直接说结论:不行,IMPORTHTML有天生的局限性。
- 核心原因:IMPORTHTML只能抓取HTML里的可见文本内容或者结构化的表格/列表数据,没办法直接提取HTML元素的属性(比如你要的
sort-value)。拿你给的播客链接举例,就算用=IMPORTHTML("https://itunes.apple.com/us/podcast/modern-sewciety-podcast/id742393907", "table", 1),也只能拿到表格里显示的日期文本,根本碰不到背后的sort-value属性值。
替代方案:用Google Apps Script自定义函数
如果你用的是Google Sheets,写个简单的自定义函数就能解决问题,步骤如下:
- 打开你的Google Sheet,点击顶部菜单栏的「扩展程序」→「Apps Script」。
- 删除默认代码,粘贴下面的脚本:
function getPodcastReleaseDate(podcastUrl) { try { // 获取页面HTML内容 const response = UrlFetchApp.fetch(podcastUrl); const html = response.getContentText(); // 用正则匹配sort-value属性 const regex = /<td role="gridcell" sort-value="([^"]+)" class="release-date">/; const match = html.match(regex); // 返回匹配到的日期,没找到则返回null return match ? match[1] : null; } catch (error) { return "获取失败:" + error.message; } }
- 保存脚本(给项目起个名字,比如PodcastDateFetcher),回到Sheet后,在单元格里输入
=getPodcastReleaseDate("https://itunes.apple.com/us/podcast/modern-sewciety-podcast/id742393907"),就能直接拿到2017/12/22这个值了。
小提醒
- 第一次运行函数时,需要授权脚本访问网络,跟着提示操作就行。
- 如果Apple Podcasts的页面结构以后变了,正则表达式可能需要微调,但目前这个规则完全适配你给出的示例页面。
内容的提问来源于stack exchange,提问作者curious
相关产品推荐
相关产品推荐

