【问题标题】:XPath query for importing web content用于导入 Web 内容的 XPath 查询
【发布时间】:2020-08-24 11:26:24
【问题描述】:

谁能建议如何使用 importData 或 importXML 函数在 Google 电子表格中从 https://www.moneycontrol.com/india/stockpricequote/banks-public-sector/statebankindia/SBI 导入“500112”和“SBIN”?

【问题讨论】:

  • 我认为您正在查找的数据是动态添加的,因此公式无法检索它。看看this
  • 嗨,不,这是一个固定值。谢谢。

标签: xpath web-scraping google-sheets google-sheets-formula google-sheets-importxml


【解决方案1】:

尝试使用

=IMPORTXML(A1,"//ctag[@class='mob-hide']//span") #where A1 is the url

这应该让你们俩都受益。

添加,例如:

=IMPORTXML(A1,"//ctag[@class='mob-hide']//span[1]")

最后应该只输出

500112

编辑:

自从提出问题后,该网站开始使用 GS 无法处理的动态加载数据。使用浏览器“开发者”选项卡中的工具,您可以发现目标数据是从不同的站点(见下文)加载的,并且是 json 格式。

所以你需要使用 GS 的importJSON() 函数:

A1 = https://priceapi.moneycontrol.com/pricefeed/bse/equitycash/SBI

A2 =importJSON(A1)

确保工作表上有足够的空间来扩展输出。完成后,您会在 Data BseidData Nseid 列下找到两个目标项,可能在 AL 和 AM 列中。

【讨论】:

  • 您好,感谢您的建议,但它们都不起作用。我只是复制粘贴了您建议的确切公式(替换单元格引用除外)。你能重新检查一下这对你有用吗?提前致谢!
  • @RP-2020 好吧,它昨天确实有效。不是今天 - 现在使用 javascript 动态加载数据(可能是因为您的问题?)而 GS 无法处理。有一些脚本可以帮助您,或者您可能必须切换到使用 Selenium 等工具的语言。
  • 感谢您的回复。我看到网页中的值没有改变,它仍然显示“500112”和“SBIN”。这些是股票代码,所以理想情况下这些代码永远不会改变。幕后的html代码是否有一些变化? (我来自非技术背景,所以我的问题可能听起来很幼稚。)感谢您的帮助。
  • 非常感谢。这比我想象的要复杂得多,但是您的解决方案有效。这样我可以一次导入所有动态值。你知道下载这样的数据是否合法吗?
  • @RP-2020 不知道合法性;您可能可以将其作为单独的问题发布给 Stack Exchange 的法律委员会...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 2019-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-11
  • 1970-01-01
相关资源
最近更新 更多