首页 > 解决方案 > 尝试不同的 Xpath,它们都不起作用

问题描述

我的目标是从https://www.tipranks.com/stocks/amzn/stock-analysis导入分数,因为你可以看到这里的分数是八角形图像中显示的“10”,这个分数对于不同的公司是不同的例如https://www.tipranks.com/stocks/roku/stock-analysis的得分为“5”。

当我检查我看到的元素时:

<text y="100" dy="0.32em"><tspan x="100" text-anchor="middle">10</tspan></text>

所以我正在使用 googledocs 和 Importxml 函数,我尝试了很多不同的 Xpath,但都返回 #N/A

我尝试了以下作为xpath:

//时间跨度

//时间跨度[1]

//文本/tspan[1]

//文本[1]/tspan[1]

//svg/文本[1]/tspan[1]

我什至尝试输入完整的 xpath

/html/body/div[1]/div/div/main/div/div/article/div[2]/div/main/div[1]/div[2]/section[1]/div[1] /div[1]/div/svg/text/tspan

请有人指导我哪里出错了。

我在谷歌文档上运行的功能是:

=进口XML(A1,A2)

其中 A1 是https://www.tipranks.com/stocks/amzn/stock-analysis 而 A2 是上面提到的 xpath 之一

标签: htmlcssxmlxpathgoogle-sheets-importxml

解决方案


Google Sheets由于网站用于Javascript显示数据,因此无法使用。您可以使用Selenium刮擦这个或类似的工具。

如果你真的想用 GS 做这个,你可以使用ImportfromWeb插件(免费计划中请求的数量是有限的)。您必须指定使用 `jsrendering.

以下 XPath 将选择您要查找的内容:

//div[contains(@class,"active")]/span

C6 中的公式:

=IMPORTFROMWEB(C2;C3;B4:C4)

输出 :

IFW


推荐阅读