如何通过IMPORTXML的XPath提取维基百科分类表中Kingdom等对应值?
解决方案
- 核心逻辑:放弃固定行号的提取方式,改用XPath的
contains()函数定位包含目标分类关键词(如"Kingdom:")的页面元素,再提取对应的分类内容。 - 分等级提取公式(假设目标网页URL在A1单元格):
- 界(Kingdom):
=IMPORTXML(A1, "//*[contains(text(), 'Kingdom:')]/following-sibling::text()") - 门(Phylum):
=IMPORTXML(A1, "//*[contains(text(), 'Phylum:')]/following-sibling::text()") - 纲(Class)、目(Order)、科(Family)、属(Genus)、种(Species)的公式只需替换XPath中的关键词即可,比如把"Kingdom:"换成"Class:"。
- 界(Kingdom):
- 特殊情况处理:
- 如果关键词和分类内容在同一个标签内(例如
<p>Kingdom: Animalia</p>),先用IMPORTXML提取整段文本,再用REGEXEXTRACT剥离关键词:=REGEXEXTRACT(IMPORTXML(A1, "//*[contains(text(), 'Kingdom:')]/text()"), "Kingdom:\s*(.*)") - 若返回多个匹配结果,用
INDEX指定取第一个有效结果:=INDEX(IMPORTXML(A1, "//*[contains(text(), 'Kingdom:')]/following-sibling::text()"), 1)
- 如果关键词和分类内容在同一个标签内(例如
内容的提问来源于stack exchange,提问作者Mr Macy
相关产品推荐
相关产品推荐

