在一个单元格中将正文中的文本作为字符串

时间:2016-10-14 16:42:56

标签: xpath google-sheets spreadsheet

我正试图通过IMPORTXML将一个页面上的所有文本作为字符串放在一个单元格中。

例如,当打开以下website时,我想获取body标签中的所有内容。

我尝试了以下内容:=transpose(IMPORTXML(A3,"/html/body/text()"))

您可以在下面找到包含5个网址的示例电子表格:

https://docs.google.com/spreadsheets/d/1LblNn8mGjSr5Tn5R5yZibXXq2w7DaHxDqKwmaD66cAQ/edit?usp=sharing

我的问题是我没有得到任何结果。

有什么建议我做错了吗?

2 个答案:

答案 0 :(得分:1)

这似乎有效:

=ArrayFormula( CONCATENATE(IMPORThtml(A3,"table",2) & CHAR(10) ) )

答案 1 :(得分:1)

有三种非常简单的方法可以做到这一点(技术上更多,但我们不会被带走),变化的唯一区别在于它们最终是如何格式化的:

1 - 如果你想保留完整的格式,或者有类似的换行符,你可以在JOIN包裹你的函数并使用CHAR(10)作为分隔符,这相当于硬回车或新行:

=join(char(10),IMPORTXML(A3,"//body"))

enter image description here

2 - 您可以执行相同的功能,但只能使用空格而不是全新的行加入:

=join(" ",IMPORTXML(A3,"//body"))

enter image description here

3-或者如果目标实际上只是用额外的空格和新行保存数据,你可以使用连接和regexreplace来替换现有的新行:

=REGEXREPLACE(CONCATENATE(IMPORTXML(A3,"//body")),"\n","")

enter image description here