我已经尝试过这个版本和其他版本了吗?有人可以帮忙吗?

=IMPORTXML("http://performance.morningstar.com/fund/ratings-risk.action?t=MWTRX", "//*[@id='div_ratings_risk']/table/tbody/tr[4]/td[3]/text()")

最佳答案

如您对原始问题的注释中所述,ID为#div_ratings_risk的div元素最初为空,并且不包含表。
因此,Google电子表格无法解析不存在但需要首先加载的内容。

google-sheets - Google Spreadsheet使用importxml获取文本-LMLPHP

您尝试从另一个URL使用jQuery动态加载您试图从中获取数据的内容(表)。您可以使用以下网址获取该网址: chrome开发人员工具和针对XHR请求的过滤器。

google-sheets - Google Spreadsheet使用importxml获取文本-LMLPHP

如果直接从该HTML解析内容,它将起作用。因此,您需要将公式更改为该URL,并像这样修改XPath:

=IMPORTXML("http://performance.morningstar.com/ratrisk/RatingRisk/fund/rating-risk.action?&t=XNAS:MWTRX&region=usa&culture=en-US&cur=&ops=clear&s=0P00001G5L&ep=true&comparisonRemove=null&benchmarkSecId=&benchmarktype=", "//table/tbody/tr[4]/td[3]/text()")

关于google-sheets - Google Spreadsheet使用importxml获取文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47383502/

10-12 07:37
查看更多