Google表格IMPORTXML查询

时间:2019-01-09 01:16:12

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

我正在将Google表格用作网络抓取工具。

我一直在使用此IMPORTXML

=importxml(A1, "//div[@class='review-content']//text()")

这是结果

Row1: {"publishedDate":"2019-01-05T22:19:28Z","updatedDate":"null","reportedDate":"null}

Row2: {"publishedDate":"2018-12-10T22:19:28Z","updatedDate":"null","reportedDate":"null}

Row3: {"publishedDate":"2018-12-09T22:19:28Z","updatedDate":"null","reportedDate":"null}

,但是在弄清楚如何仅获取“ publishedDate”值时遇到了麻烦。 示例:

Row1: 2019-01-05T22:19:28Z

Row2: 2018-12-10T22:19:28Z

Row3: 2018-12-09T22:19:28Z

关于我可能会丢失的任何想法

1 个答案:

答案 0 :(得分:2)

这三个样本怎么样?我从您问题的样本中想到了它们。我认为您的情况有几个答案。因此,请考虑其中的3个示例。

假定URL放在单元格“ A1”中。

示例1:

=ARRAYFORMULA(MID(IMPORTXML(A1, "//div[@class='review-content']//text()"),19,20))
  • 当每个值的字符串长度为常数时,该怎么办?
    • 该值由MID()检索。

示例2:

=ARRAYFORMULA(INDEX(SPLIT(IMPORTXML(A1, "//div[@class='review-content']//text()"),"""",TRUE,TRUE),,4))
  • 当每个值的位置为常数时,该怎么办?
    • 该值由SPLIT()INDEX()检索。

示例3:

=ARRAYFORMULA(REGEXEXTRACT(IMPORTXML(A1, "//div[@class='review-content']//text()"),"publishedDate"":""(\w.+?)"""))
  • 当每个值的模式为常数时,该怎么办?
    • 该值由REGEXEXTRACT()检索。

参考文献:

如果这些不是您想要的结果,我深表歉意。那时,为了正确地复制您的情况,您能否按照@Rubén的说法提供所使用的URL?