使用谷歌电子表格刮刮Instagram数据?

时间:2016-11-22 12:06:13

标签: google-sheets instagram

我需要像bio这样的数据,以及使用Google电子表格从公共Instagram帐户发布的帖子数量。我能够提取数量的粉丝和关注者。你能帮忙吗?

1 个答案:

答案 0 :(得分:3)

这个公式看起来真的很复杂,但实际上它是 - 是一个importxml公式,从“脚本”部分提取数据,其中包含你想要的部分......然后使用一堆regexreplace / extract函数我将数据清理成可读格式:

以此公开页面为例:http://www.instagram.com/salesforce/

然后在B1或C1中输入:

=iferror(arrayformula(regexreplace({arrayformula(regexextract(transpose(split(regexreplace(regexreplace(concatenate(IMPORTXML(Sheet2!A1,"//script")),"\n",""),"(^.*""ProfilePage"": \[{""user"": {""username"": "")(.*)(nodes.*)","$2"),", """,false)),"(^.*)"": .*")),arrayformula(regexextract(transpose(split(regexreplace(regexreplace(concatenate(IMPORTXML(Sheet2!A1,"//script")),"\n",""),"(^.*""ProfilePage"": \[{""user"": {""username"": "")(.*)(nodes.*)","$2"),", """,false)),"^.*"": (.*)"))},"[""}{]","")))

我最终使用了一个文字数组,这样我就可以有效地从字段中拆分字段名称,显然你可以按照你真正想要的格式进行格式化,但是请看这里的图像来演示它所提取的字段:

enter image description here

另请注意,关注者,follow_by和media:count是您提到的字段(例如,帖子数称为媒体计数),然后传记当然是自我解释

更新:回答您的评论 - 如果您想获得其他2个值,您可以在单个regexextract函数中执行此操作:

如果您使用原始导入数据,这些正则表达式可以工作:

媒体统计:

=REGEXEXTRACT(concatenate(IMPORTDATA(E1)),"""media: {""count"": (\d+)page_info: {")

传:

=REGEXEXTRACT(concatenate(IMPORTDATA(E1)),"biography: ""(.*)""full_name")

如果你使用importxml方法,这些工作:

=REGEXEXTRACT(A1,"biography"": ""(.*)"", "".*""media"": {""count"": (\d+), ""page_info""")

创建2个捕获组,自动将它们放入自己的相邻单元格中,或者您可以单独执行它们:

和传记:

=REGEXEXTRACT(A1,"biography"": ""(.*)"", "".*""media")

媒体统计:

=REGEXEXTRACT(A1,"media"": {""count"": (\d+), ""page_info""")