使用ImportXML标识多个表

使用ImportXML标识多个表,xml,google-sheets,import,google-sheets-formula,Xml,Google Sheets,Import,Google Sheets Formula,我试图从“每100个Poss统计的团队”表中获取该站点的数据 我用这个: 公式:=ImportXml(A1,“/*[@id='div\u team-stats-per\u poss'])” 但我不断收到一个错误,告诉我内容是空的。我如何参考该具体表格?我检查了源代码,数据就在那里 试试: =ARRAYFORMULA(SPLIT(REGEXREPLACE(QUERY( ARRAY_CONSTRAIN(IMPORTDATA(A1), 1300, 1), "limit 30 offse

我试图从“每100个Poss统计的团队”表中获取该站点的数据

我用这个:

公式:=
ImportXml(A1,“/*[@id='div\u team-stats-per\u poss'])”

但我不断收到一个错误,告诉我内容是空的。我如何参考该具体表格?我检查了源代码,数据就在那里

试试:

=ARRAYFORMULA(SPLIT(REGEXREPLACE(QUERY(
 ARRAY_CONSTRAIN(IMPORTDATA(A1), 1300, 1), 
 "limit 30 offset 1159", 0), 
 "</?\S+[^<>]*>", "×"), "××"))
=数组公式(拆分(REGEXREPLACE)(查询(
数组_约束(导入数据(A1),1300,1),
“限制30偏移量1159”,0),
"", "×"), "××"))
试试:

=ARRAYFORMULA(SPLIT(REGEXREPLACE(QUERY(
 ARRAY_CONSTRAIN(IMPORTDATA(A1), 1300, 1), 
 "limit 30 offset 1159", 0), 
 "</?\S+[^<>]*>", "×"), "××"))
=数组公式(拆分(REGEXREPLACE)(查询(
数组_约束(导入数据(A1),1300,1),
“限制30偏移量1159”,0),
"", "×"), "××"))

你能解释一下为什么XPath请求在这种情况下不起作用吗?@Borisbaubly解释了它的原因,因为表是由JavaScript控制的,google sheets不能改进JS内容。如果你为给定的站点禁用JS,你可以随时测试这个,刷新后你可以看到剩下的内容,这就是可以做的,我刚刚做了-我关闭了JS,重新加载页面,这个表丢失了。非常感谢。您能解释一下您的决定吗?@borisbaubly如果您运行:
=ImportXml(A1,“/*”
您可以看到所需的数据存在,但很难获取,也很难格式化,因此我们切换到IMPORTDATA以获取带有html标记的源代码,因此在使用ARRAY\u constraint对其进行修剪之后(因为整个源代码太大)查询(进一步缩小范围)我们使用正则表达式将所有html标记替换为唯一符号,这样我们就可以使用SPLIT将值分配到多个列中。您能解释一下XPath请求在这种情况下不起作用的原因吗?@BorisBaublys,因为表由JavaScript控制,google sheets不能改进JS内容。如果你为给定的站点禁用JS,你可以随时测试这个,刷新后你可以看到剩下的内容,这就是可以做的,我刚刚做了-我关闭了JS,重新加载页面,这个表丢失了。非常感谢。您能解释一下您的决定吗?@borisbaubly如果您运行:
=ImportXml(A1,“/*”
您可以看到所需的数据存在,但很难获取,也很难格式化,因此我们切换到IMPORTDATA以获取带有html标记的源代码,因此在使用ARRAY\u constraint对其进行修剪之后(因为整个源代码太大)和查询(进一步缩小范围)我们使用正则表达式将所有html标记替换为唯一符号,这样我们就可以使用SPLIT将值分配到多个列中