如何使用ImportXML提取<span>中具有多个类的文本?

时间:2019-08-02 01:49:35

标签: google-sheets discord google-sheets-formula google-sheets-importxml

我正在使用Google电子表格的ImportXML函数,试图从discordapp.com的邀请链接中获取成员数,以便跟踪多个服务器的大小和增长情况。所需文本位于其他 div 内部的 span 内部。从我阅读的内容来看,我认为我的代码可以工作,但是错误表明内容为空。查看以下详细信息:

ImportXML attempt

我尝试输入的代码:

=ImportXML("https://discordapp.com/invite/steam","//span[@class='pillMessage-1btqlx medium-zmzTW- size16-14cGz5 height20-mO2eIN']")
  • 预期:当前计数为“ 24,013个成员”的单元格。
  • 最好:单元格填充值为24013。
  • 实际上:单元格:#N / A &悬停:错误 导入的内容为空。

Error, imported content is empty

如何解决它以获取服务器的成员数?

1 个答案:

答案 0 :(得分:1)

这个答案怎么样?

似乎在站点上,脚本显示了类似24,013的值。因此,IMPORTXML()无法直接检索该值。但是当我看到HTML时,发现该值包含在HTML的元数据中。在此答案中,作为一种解决方法,该值是从元数据中检索的。请认为这只是几个答案之一。

修改后的公式:

=VALUE(REGEXEXTRACT(IMPORTXML(A1,"//meta[3]/@content"),"hang out with ([0-9,]+) "))
  • https://discordapp.com/invite/steam的网址已放入单元格“ A1”。
  • 使用IMPORTXML()检索元数据的内容。
    • 在这种情况下,我使用//meta[3]/@content作为xpath。
  • 使用REGEXEXTRACT()检索值。
  • 使用VALUE()将值转换为数字。

结果:

当我尝试上述公式时,检索到24018

enter image description here

参考文献:

如果我误解了您的问题,而这不是您想要的结果,我深表歉意。