如何使用importXML将数据从网站导入到Google表格中

时间:2019-06-02 22:06:52

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

今天,当尝试在Google表格中使用importXML时,我遇到了一个问题。我试图将USTA锦标赛页面的标题导入到Google表格中,但是,这不起作用,因为它只是导致显示网页的HTML标题(“ TournamentHome”)。以下是Google表格以及使用的网站:

Google表格和功能:

=importXML(F2, "//html//body[@id='thebody']//div[@id='content']//div[@id='pagetitle']")

enter image description here


网站和正在使用的源代码部分

enter image description here

我要从网站中提取的标题是

网站链接为https://m.tennislink.usta.com/tournamenthome?T=225779

2 个答案:

答案 0 :(得分:1)

更新:

=REGEXEXTRACT(QUERY(ARRAY_CONSTRAIN(IMPORTDATA(
 "https://m.tennislink.usta.com/tournamenthome?T=225779"), 555, 1), 
 "where Col1 contains 'escape'"), "\(""(.*)""\)")

enter image description here


不幸的是,这是您无法尝试的方式,因为您尝试抓取的字段是由JavaScript控制的,而Google表格无法理解/导入JS。您可以通过禁用给定链接的JS进行测试,然后将看到可以完全导入到Google表格中的内容:

0

答案 1 :(得分:1)

该示例公式如何?在此公式中,在将标题值放入#pagetitle之前直接从脚本中检索标题值。请认为这只是几个答案之一。

示例公式:

=REGEXEXTRACT(IMPORTXML(A1,"//div[@class='tournament_search']/script"),"escape\(""([\w\s\S]+)""")

结果:

https://m.tennislink.usta.com/TournamentHome/tournament.aspx?T=38079https://m.tennislink.usta.com/tournamenthome?T=225779放入“ A1”和“ A2”时,结果如下。

enter image description here

参考: