如何在Google Sheets中无需API获取YouTube频道订阅数
无API提取YouTube频道订阅数到Google Sheets的解决方案
问题原因说明
你用IMPORTXML指定//*[@id="subscriber-count"]失败,是因为YouTube的订阅数元素是JavaScript动态渲染出来的,而IMPORTXML只能抓取页面的原始静态HTML,根本找不到这个动态生成的元素,所以才会返回“导入内容为空”。
提取订阅数的可用公式
基于你已经用QUERY+FLATTEN+IMPORTDATA拿到的包含订阅数的字符串,用以下公式直接提取目标内容:
1. 提取完整订阅描述(如「39.1 million subscribers」)
=REGEXEXTRACT(QUERY(FLATTEN(IMPORTDATA(A1)),"where Col1 starts with 'subscriberCountText:'",0), """label"":""([^""]+)""")
2. 仅提取数字+单位(如「39.1 million」)
在上面的基础上再剥离掉「subscribers」:
=REGEXEXTRACT(REGEXEXTRACT(QUERY(FLATTEN(IMPORTDATA(A1)),"where Col1 starts with 'subscriberCountText:'",0), """label"":""([^""]+)"""), "^(.+) subscribers")
3. 简化版公式(直接匹配数字+单位)
如果不需要完整描述,也可以直接匹配数字和单位组合,适配整数、小数的百万/千级订阅数:
=REGEXEXTRACT(QUERY(FLATTEN(IMPORTDATA(A1)),"where Col1 starts with 'subscriberCountText:'",0), "\d+\.\d+ (million|thousand)|\d+ (million|thousand)|\d+")
注意事项
这个方法依赖YouTube页面源码里subscriberCountText字段的格式,如果以后YouTube调整页面结构,公式可能需要微调。
内容的提问来源于stack exchange,提问作者fedpep
相关产品推荐
相关产品推荐

