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

问题描述 投票:0回答:2

我需要使用谷歌电子表格获取个人简介等数据以及来自公共 Instagram 帐户的帖子数量。我能够提取关注者和关注者的数量。你能帮忙吗?

google-sheets instagram
2个回答
3
投票

这个公式看起来非常复杂,但实际上它就是一个 importxml 公式,用于从“脚本”部分提取数据,其中包含您想要的部分...然后使用我清理的一堆正则表达式替换/提取函数将数据转换为可读格式:

以此公共页面为例: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

另请注意,followers、followed_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""")

0
投票

有人可以制作一个提取此内容的视频吗?我将第一个函数粘贴到 C1 中,但什么也没发生enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.