我正试图通过IMPORTXML
将一个页面上的所有文本作为字符串放在一个单元格中。
例如,当打开以下website时,我想获取body标签中的所有内容。
我尝试了以下内容:=transpose(IMPORTXML(A3,"/html/body/text()"))
您可以在下面找到包含5个网址的示例电子表格:
https://docs.google.com/spreadsheets/d/1LblNn8mGjSr5Tn5R5yZibXXq2w7DaHxDqKwmaD66cAQ/edit?usp=sharing
我的问题是我没有得到任何结果。
有什么建议我做错了吗?
答案 0 :(得分:1)
这似乎有效:
=ArrayFormula( CONCATENATE(IMPORThtml(A3,"table",2) & CHAR(10) ) )
答案 1 :(得分:1)
有三种非常简单的方法可以做到这一点(技术上更多,但我们不会被带走),变化的唯一区别在于它们最终是如何格式化的:
1 - 如果你想保留完整的格式,或者有类似的换行符,你可以在JOIN
包裹你的函数并使用CHAR(10)
作为分隔符,这相当于硬回车或新行:
=join(char(10),IMPORTXML(A3,"//body"))
2 - 您可以执行相同的功能,但只能使用空格而不是全新的行加入:
=join(" ",IMPORTXML(A3,"//body"))
3-或者如果目标实际上只是用额外的空格和新行保存数据,你可以使用连接和regexreplace来替换现有的新行:
=REGEXREPLACE(CONCATENATE(IMPORTXML(A3,"//body")),"\n","")