我要感谢每个人在此站点上提供的帮助-这非常重要!
我正在尝试将点赞/关注者从Spotify播放列表导入Google表格。似乎各种播放列表都有不同的XPath。
我可以使用以下代码提取喜欢/关注者的大多数(大部分工作):( B24是网址)
= INDEX(REGEXEXTRACT(IFERROR(QUERY(ARRAY_CONSTRAIN(IMPORTDATA(B24),500,5),“选择Col5,其中Col4包含“跟随者””),0),QUERY(ARRAY_CONSTRAIN(IMPORTDATA(B24),500,7),”选择Col7,其中Col6包含“关注者”,0)),“ \ d +”)* 1)
但是,某些播放列表链接的输出为空。示例:https : //open.spotify.com/playlist/5aSO2lT7sVPKut6F9L6IAc工作示例:https : //open.spotify.com/playlist/7qvQVDnLe4asawpZqYhKMQ
老实说,我不确定如何添加第三个参数,并且我一直在盲目地更改列号以查看有效的方法-运气不好。关于如何找出要更改的行号/任何指南的任何想法都将非常有帮助。
谢谢!!
当我从两个URL中看到HTML时,我认为在这种情况下,可以从HTML中包含的JSON数据中检索要检索的值。但不幸的是,JSON数据很大。因此,当IMPORTXML
使用时,由于数据大小会发生错误。因此,在这个答案中,我想建议使用通过Google Apps脚本使用的自定义函数。
请复制以下Google Apps脚本并将其粘贴到Google Spreadsheet的脚本编辑器中。并且,请放在=SAMPLE("###url###")
牢房中。由此,followers
返回的值。
function SAMPLE(url) {
const res = UrlFetchApp.fetch(url).getContentText();
const v = res.replace(/&/g, "&").match(/Spotify\.Entity \=([\s\S\w]+?);/);
return v && v.length == 2 ? JSON.parse(v[1].trim()).followers.total : "Value cannot be retrieved.";
}
当上述脚本用于您的2个URL时,可获得以下结果。在这种情况下,以下自定义公式分别放入单元格“ A1”和“ A2”。
=SAMPLE("https://open.spotify.com/playlist/5aSO2lT7sVPKut6F9L6IAc")
=SAMPLE("https://open.spotify.com/playlist/7qvQVDnLe4asawpZqYhKMQ")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句