【问题标题】:How to extract "last updated" date from this URL to google sheets如何从此 URL 中提取“最后更新”日期到谷歌表格
【发布时间】:2020-10-19 14:55:23
【问题描述】:

我试过这个,但我得到三个点

=IMPORTXML("https://covid19.sabah.digital/covid19/","//span[@class='number-last_updated']")

【问题讨论】:

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


【解决方案1】:

当我看到 HTML 数据时,似乎最后更新日期是由 Javascript 显示的。这样,不幸的是,无法使用IMPORTXML 直接检索该值。这在 cmets 中已经提到过。

当我再次看到HTML数据时,我注意到日期的信息包含在https://data.covid19.sabah.digital/global.json中。从这些数据中,检索上次更新日期怎么样?在这个答案中,作为一种解决方法,为了检索最后更新的值,我想建议使用以下示例公式检索数据。

示例公式:

=TEXT(MAX(ARRAYFORMULA(DATEVALUE(REGEXEXTRACT(QUERY(IMPORTDATA(A1),"SELECT Col1 WHERE Col1 contains 'date'"),"\d{4}-\d{1,2}-\d{1,2}"))))+1,"yyyy-MM-dd")
  • 在这个公式中,请将https://data.covid19.sabah.digital/global.json的URL放到单元格“A1”中。
  • 这个公式的流程如下。
    1. 使用 IMPORTDATA 检索 JSON 数据。
    2. 使用QUERY从检索到的数据中检索数据值。
    3. 使用DATEVALUE将文本转换为序列号。
    4. 使用MAX 检索最大值。
      • 好像1加上这个值,就是更新日期。
      • 如果您不需要这个,请从公式中删除+1
    5. 使用TEXT将序列号转换为文本。

结果:

参考资料:

【讨论】:

  • 非常感谢...这对我很有帮助...谢谢!!
  • @Chris Eddy 感谢您的回复。很高兴您的问题得到解决。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-28
  • 1970-01-01
相关资源
最近更新 更多