如何将Google Finance的公司About信息批量导入Google Sheets
解决Google Finance公司About板块批量导入Google Sheets的方案
核心优化逻辑
你遇到的两个问题根源是:使用绝对层级的XPath强依赖页面节点顺序,Google Finance不同个股页面动态渲染的节点层级有差异,同时路径范围覆盖到了行情指标区域导致冗余内容。我们可以通过语义化相对XPath+公式优化一次性解决两个问题。
优化后可用公式
基础版(已拼接URL放在A列)
=TEXTJOIN(" ", TRUE, ARRAYFORMULA(TRIM(IMPORTXML(A2, "//div[contains(@class, 'bLLb2d')]//text()"))))
无辅助列版(股票代码在B列、交易所在C列)
无需提前用CONCATENATE拼接URL,直接在公式内拼接即可:
=TEXTJOIN(" ", TRUE, ARRAYFORMULA(TRIM(IMPORTXML("https://www.google.com/finance/quote/"&B2&":"&C2, "//div[contains(@class, 'bLLb2d')]//text()"))))
容错版
针对无公开About信息的个股添加异常处理:
=IFERROR(TEXTJOIN(" ", TRUE, ARRAYFORMULA(TRIM(IMPORTXML("https://www.google.com/finance/quote/"&B2&":"&C2, "//div[contains(@class, 'bLLb2d')]//text()")))), "无可用About信息")
方案说明
- 通用适配:XPath使用
//div[contains(@class, 'bLLb2d')]直接定位所有个股通用的About板块容器,完全不依赖页面节点层级,无需逐个调整XPath - 去冗余处理:
TRIM+ARRAYFORMULA组合自动清除所有提取文本段前后的空白、换行符- 若仍有少量超链接、按钮类冗余文本,可将XPath替换为
//div[contains(@class, 'bLLb2d')]//text()[not(parent::a) and not(parent::button)],自动过滤无关元素的文本内容
- 批量使用:公式直接下拉即可批量适配所有行的股票代码,无需额外调整
内容的提问来源于stack exchange,提问作者Matt Jan
相关产品推荐
相关产品推荐

